MySQL is one of the most popular and widely used relational database management systems. If you’re a fresher preparing for a MySQL interview, it’s important to familiarize yourself with common MySQL interview questions and their answers for freshers.
This article provides you with a list of 60+ MySQL interview questions, along with detailed explanations answered to help you with your interview for freshers.
60+ MySQL Interview Questions and Answers for Freshers 2023
Here are 60+ MySQL common interview questions answered for freshers:
1. What is MySQL?
MySQL is an open-source relational database management system (RDBMS) that is widely used for managing and storing structured data.
2. What is a Database Management System?
A Database Management System (DBMS) is software that manages databases, including storing, retrieving, updating, and managing data.
3. What are the different storage engines supported by MySQL?
MySQL supports various storage engines, including InnoDB, MyISAM, MEMORY (HEAP), NDB (Cluster), and more.
4. Explain the difference between CHAR and VARCHAR data types.
CHAR is a fixed-length string type, while VARCHAR is a variable-length string type. CHAR always uses the specified length, whereas VARCHAR only uses the necessary length.
5. What is the primary key in MySQL?
A primary key is a unique identifier for a record in a table. It ensures that each row is uniquely identifiable.
6. How can you create a new database in MySQL?
You can create a new database using the
CREATE DATABASE statement:
CREATE DATABASE dbname;
7. How do you select a database to work with?
8. What is normalization?
Normalization is the process of organizing data in a database to minimize redundancy and improve data integrity.
9. What is denormalization?
Denormalization is the process of intentionally introducing redundancy into a database to improve read performance.
10. Explain the ACID properties in the context of a database.
ACID stands for Atomicity, Consistency, Isolation, and Durability. These properties ensure data integrity and reliability in database transactions.
11. What is a SQL injection? How can it be prevented?
SQL injection is a security vulnerability where malicious SQL statements are inserted into input fields. To prevent it, use parameterized queries or prepared statements.
12. How can you retrieve all records from a table named “employees”?
SELECT * FROM employees;
13. What is the difference between INNER JOIN and LEFT JOIN?
INNER JOIN returns only matching rows from both tables, while LEFT JOIN returns all rows from the left table and matching rows from the right table.
14. How can you update records in a table?
UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;
15. What is a subquery?
A subquery is a query nested within another query. It’s often used for complex filtering or data retrieval.
16. How do you find the second highest salary from an “employees” table?
You can use the
LIMIT clause with a subquery:
SELECT DISTINCT salary FROM employees ORDER BY salary DESC LIMIT 1 OFFSET 1;
17. What is indexing in MySQL?
Indexing is the process of creating a data structure to improve the speed of data retrieval operations on a table.
18. Explain the difference between clustered and non-clustered indexes.
A clustered index determines the physical order of rows in a table, while a non-clustered index is a separate data structure that contains a sorted list of row references.
19. What is a foreign key?
A foreign key is a column or a set of columns in a table that is used to establish a link between the data in two tables. It enforces referential integrity.
20. How can you delete records from a table?
DELETE FROM table_name WHERE condition;
21. Explain the GROUP BY clause.
22. What is a stored procedure?
A stored procedure is a precompiled collection of one or more SQL statements that can be executed using a single command.
23. How do you create a stored procedure in MySQL?
CREATE PROCEDURE statement:
CREATE PROCEDURE procedure_name(parameters) BEGIN -- SQL statements END;
24. What is a trigger?
A trigger is a set of SQL statements that are automatically executed in response to a specific event in the database.
25. Explain the difference between UNION and UNION ALL.
UNION returns distinct rows from the combined result sets, while UNION ALL returns all rows, including duplicates.
26. How can you find the number of rows in a table?
SELECT COUNT(*) FROM table_name;
27. What is the purpose of the ORDER BY clause?
ORDER BY clause is used to sort the result set based on one or more columns in ascending or descending order.
28. How can you add a new column to an existing table?
ALTER TABLE statement:
ALTER TABLE table_name ADD column_name data_type;
29. Explain the difference between a view and a table.
A table stores data physically, while a view is a virtual table created by querying one or more tables.
30. How can you import data from a CSV file into a MySQL table?
You can use the
LOAD DATA INFILE statement:
LOAD DATA INFILE 'file.csv' INTO TABLE table_name FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (column1, column2, ...);
31. What is the difference between the HAVING clause and the WHERE clause?
WHERE clause filters rows before aggregation, while the
HAVING clause filters rows after aggregation.
32. How do you rename a table?
ALTER TABLE statement:
ALTER TABLE old_table_name RENAME TO new_table_name;
33. Explain the purpose of the MAX() function.
MAX() function returns the maximum value in a column.
34. What is the purpose of the MIN() function?
MIN() function returns the minimum value in a column.
35. How can you change the value of an existing column?
UPDATE table_name SET column_name = new_value WHERE condition;
36. Explain the concept of an aggregate function.
An aggregate function performs a calculation on a set of values and returns a single value, such as SUM, AVG, COUNT, etc.
37. How do you create an index on a column?
CREATE INDEX statement:
CREATE INDEX index_name ON table_name (column_name);
38. What is the purpose of the BETWEEN operator?
BETWEEN operator is used to retrieve rows within a specified range.
39. How can you prevent duplicates from being inserted into a table?
CREATE TABLE table_name ( column_name data_type UNIQUE );
40. Explain the purpose of the IFNULL() function.
IFNULL() function returns the first expression if it’s not
NULL, otherwise, it returns the second expression.
41. What is a self-join?
A self-join is when a table is joined with itself. It’s often used to compare rows within the same table.
42. How can you find the length of a string using SQL?
SELECT LENGTH(column_name) FROM table_name;
43. Explain the concept of a cross-join (Cartesian product).
A cross-join produces all possible combinations of rows from two or more tables. It’s also known as a Cartesian product.
44. What is the purpose of the CONCAT() function?
CONCAT() function is used to concatenate two or more strings.
45. How do you delete a database in MySQL?
DROP DATABASE statement:
DROP DATABASE dbname;
46. Explain the difference between a candidate key and a primary key.
A candidate key is a set of columns that can uniquely identify a row, while a primary key is a specific candidate key chosen to identify rows in a table.
47. How do you remove a column from a table?
ALTER TABLE table_name DROP COLUMN column_name;
48. What is the purpose of the MOD() function?
MOD() function returns the remainder of a division operation.
49. How do you add a unique constraint to an existing column?
ALTER TABLE statement with the
ADD CONSTRAINT clause:
ALTER TABLE table_name ADD CONSTRAINT constraint_name UNIQUE (column_name);
50. Explain the concept of data integrity.
Data integrity ensures that data remains accurate, consistent, and reliable throughout its lifecycle.
51. How can you fetch the Nth highest salary from a table?
You can use the
LIMIT clause with a subquery to retrieve the Nth highest salary.
52. Explain the use of the COALESCE() function.
COALESCE() function returns the first non-NULL value in a list.
53. What is the purpose of the TRUNCATE statement?
TRUNCATE statement is used to delete all rows from a table without logging individual row deletions.
54. How can you update data in multiple rows simultaneously?
CASE statement in combination with the
55. Explain the difference between the EXISTS and IN operators.
EXISTS checks for the existence of a subquery result, while
IN checks if a value matches any value in a list.
56. What is the purpose of the RAND() function?
RAND() function generates a random floating-point number between 0 and 1.
57. How do you add a new user to MySQL?
CREATE USER statement:
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
58. Explain the concept of database normalization and its benefits.
Database normalization is the process of minimizing data redundancy and dependency by organizing fields and table of a database.
59. How can you find the length of a string using SQL?
SELECT LENGTH(column_name) FROM table_name;
60. What is the purpose of the LEFT() function?
LEFT() function extracts a specified number of characters from the left side of a string.
61. Explain the use of the DATE_FORMAT() function.
DATE_FORMAT() function is used to format dates and times.
62. What is the difference between the CHAR_LENGTH() and LENGTH() functions?
CHAR_LENGTH() returns the number of characters in a string, while
LENGTH() returns the number of bytes.
Preparation is key when it comes to acing a MySQL interview. By studying and understanding these 60+ MySQL interview questions and their answers, you’ll be well-equipped to confidently navigate your interview and showcase your knowledge of MySQL and database management concepts. Remember to not only memorize the answers but also understand the underlying principles to demonstrate your problem-solving skills effectively. Good luck!