Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
3 views

interview-Questions-SQL.txt

Uploaded by

mayurgangji
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

interview-Questions-SQL.txt

Uploaded by

mayurgangji
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 9

MySQL Interview Questions

MySQL is a Free open-source Relational Database Management System(RDMS) that stores


data in a structured tabular format using rows and columns. It is fast, reliable,
and easy to use. Apart from that, MySQL is a multithreaded, multi-user SQL database
management system that uses standard SQL and compiles on various platforms.

Top 50 MySQL interview questions with answers that cover everything from the basics
of MySQL such as CRUD operations, features, and various mysql functions to advanced
MySQL Topics such as MySQL Constraints (i.e. primary keys, foreign keys, and check
constraints, etc.), MySQL Joins, Indexes, MySQL Security Performance Tuning and
more.

MySQL Interview Questions

Whether you are a fresher or an experienced IT professional, this MySQL Interview


Questions gives you all the confidence you need to ace your next tech Interview.
Basics MySQL Interview Questions
Intermediate MySQL Interview Questions
Advanced MySQL Interview Questions
Basics MySQL Interview Questions
1. What is MySQL and How does it differ from other relational databases?
MySQL is an open-source relational database management system (RDBMS) that is
widely used for managing structured data. It utilizes SQL (Structured Query
Language) for querying and managing data. MySQL is known for its reliability,
scalability, and performance, making it a popular choice for various applications

2. How to create a database in MySQL?


To create a database in MySQL, we can use the CREATE DATABASE statement followed by
the name we want to give to our database. For example:

CREATE DATABASE mydatabase;


3. Difference between CHAR and VARCHAR data types.
CHAR: Fixed-length character data type where the storage size is predefined.
Trailing spaces are padded to reach the defined length.
VARCHAR: Variable-length character data type where the storage size depends on the
actual data length. No padding of spaces is done.
4. Explain the differences between SQL and MySQL?
SQL

MySQL

It is a structured query language that manages the relational database management


system.

It is a relational database management system that uses SQL.

It is not an open-source language.

MySQL is an open-source platform. It allows access to anyone.

SQL supports XML and user defined functions.

It doesn’t support XML and any user defined functions

SQL can be implemented in various RDBMS such as PostgreSQL, SQLite, Microsoft SQL
Server, and others.

MySQL is a specific implementation of an RDBMS that uses SQL for querying and
managing databases.
SQL itself is not a product and doesn’t have a license. It’s a standard language.

MySQL is open-source and available under the GNU General Public License (GPL).

5. What is the MySQL server’s default port?


3306 is MySQL server‘s default port..

6. How can we learn batch mode in MySQL?


Below is the syntax used to run batch mode.

mysql <batch-file>;

mysq <batch-file> mysql.out

7. How many different tables are present in MySQL?


There are 5 types of tables present in MySQL.

Heap table
merge table
MyISAM table
INNO DB table
ISAM table
8. What are the differences between CHAR and VARCHAR data types in MySQL?
Storage and retrieval have been different for CHAR and VARCHAR.
Column length is fixed in CHAR but VARCHAR length is variable.
CHAR is faster than VARCHAR.
CHAR datatype can hold a maximum of 255 characters while VARCHAR can store up to
4000 characters.
9. What is Difference between CHAR_LENGTH and LENGTH?
LENGTH is byte count whereas CHAR_LENGTH is character count. The numbers are the
same for Latin characters but different for Unicode and other encodings.

Syntax of CHAR_LENGTH:

SELECT CHAR_LENGTH(column_name) FROM table_name;

Syntax of LENGTH:

SELECT LENGTH(column_name) FROM table_name;

10. What do you understand by % and _ in the like statement?


‘_’ corresponds to only one character but ‘%’ corresponds to zero or more
characters in the LIKE statement.

11. How many index columns can be created in a table?


There are 16 indexed columns can be created in a table.

12. What are string types available for columns?


There are six string types available for the column.

SET
BOLB
TEXT
ENUM
CHAR
VARCHAR
13. Explain the main difference between FLOAT and DOUBLE?
FLOAT stored floating point number with 8 place accuracy. The size of FLOAT is 4
bytes.
DOUBLE also stored floating point numbers with 18 place accuracy. The size of
DOUBLE is 8 bytes.
14. Explain the differences between BOLB and TEXT.
BOLB:

A BOLB is a large object in binary form that can hold a variable amount of data.
Sorting and comparing in BLOB values are case-sensitive.

There are four types of BOLB.

TINYBOLB
BOLB
MEDIUMBOLB
LONGBOLB
TEXT:

Sorting and comparison are performed in case-insensitive for TEXT values. we can
also say a TEXT is case-insensitive BOLB.

There are four types of TEXT.

TINYTEXT
TEXT
MEDIUMTEXT
LONGTEXT
15. Explain the difference between having and where clause in MySQL.
WHERE statement is used to filter rows but HAVING statement is used to filter
groups.
GROUP BY is not used with WHERE. HAVING clause is used with GROUP BY.
16. Explain REGEXP.
REGEXP is a pattern match where the pattern is matched anywhere in the search
value.

For more detail you refer to our MySQL | Regular expressions Article.

17. How can we add a column in MySQL?


A column is a series of table cells that store a value for table’s each row. we can
add column by using ALTER TABLE statement.

ALTER TABLE tab_name

ADD COLUMN col_name col_definition [FIRST|AFTER exist_col];

18. How to delete columns in MySQL?


We can remove columns in MySQL by using ALTER TABLE statement.

Syntax:

ALTER TABLE table_name DROP COLUMN column1, column2….;

19. How to delete a table in MySQL?


We can delete a table by using DROP TABLE statement. This statement deletes
complete data of table.

DROP TABLE table-name;


20. How are mysql_fetch_array() and mysql_fetch_object() different from each
another?
mysql_fetch_array() Gets a result row as a related array or a regular array from
database. mysql_fetch_object gets a result row as an object from the database.

21. How to get the top 10 rows?


The following query will be used to get top 10 rows.

SELECT * FROM table_name LIMIT 0,10;

22. How does NOW() differ from CURRENT_DATE()?


current year, month, and date with hours, minutes, and seconds is shown by using
NOW() command while CURRENT_DATE shows current year current month, and current
date.

Syntax:

SELECT NOW();

SELECT CURRENT_DATE();

23. What is the use of the ‘DISTINCT’ keyword in MySQL?


the DISTINCT keyword allows for the removal of all duplicate records and the
retrieval of unique records. The DISTINCT keyword is used with the SELECT
statement.

Syntax:

SELECT DISTINCT colu1, colum2..

FROM table_name;

24. Which storage engines are used in MySQL?


Storage engines are also called table types. Data is stored in a file using
multiple techniques.

Below are some techniques.

Locking Level
Indexing
Storage mechanism
Capabilities and functions
25. How to create a table in MySQL?
The CREAT TABLE command will be used to create a table in MySQL.

Syntax:

CREATE TABLE ‘Employee’ (‘Employee_Name’ VARCHAR(128), ‘Employee_ID’ VARCHAR(128),


‘Employee_Salary’ VARCHAR(16), ‘Designation’ CHAR(4)) ;

26. How to insert data in MySQL table?


We can add data to a table using the INSERT INTO statement .

Syntax:

INSERT INTO table_name ( field1, field2, field3 )


VALUES ( value1, value2, value3 );

Intermediate MySQL Interview Questions


27. Write a statement to find duplicate rows In the MySQL table?
The below statement is used to find duplicate rows.

SELECT Table_Name, Category

FROM Product

GROUP BY Name, Category

HAVING COUNT(id) > 1;

28. What types of relationships are used in MySQL?


There are three types of relationships used in MySQL.

One-to-one: Elements with a one to one relationship can be included as columns in


the table.

One-to-many: One to many or many to one relationships both are same. It will occur
when one row in a table is related to multiple rows in different table.

Many-to-many: Many rows in a table are related to many rows in different table is
called many to many relationship.

29. How to insert Date in MySQL?


We can use INSERT statement to insert date in MySQL table. MySQL default date
format is YYYY-MM-DD. Automatic MySQL consist many data types to store dates.

DATE
DATETIME
TIMESTAMP
YEAR
Syntax:

INSERT INTO table_name (column_name, column_date) VALUES (‘DATE: Manual Date’,


‘2023-5-20’);

30. What is join? Tell different join in MySQL.


Joins are used to connect two or more tables. It returns only same values in all
tables.

There are four different ways to join MySQL tables.

Inner Join
left Join
Right Join
Full Join
31. What is a primary key? How to drop the primary key in MySQL?
A primary key in MySQL is a single field or a group of fields that are used to
uniquely identify each record in a table. A primary key cannot be null or empty.
ALTER TABLE statement is used to delete a primary key from a table.

Syntax:

ALTER TABLE table_name DROP PRIMARY KEY;


32. What is a heap table in MySQL?
A heap table is usually used for temporary and fast temporary storage.

BOLB or TEXT fields are not permitted in the heap table.


comparison operator like =, <,>, = >,=< can be used only.
Heap table didn’t support the AUTO_INCREMENT command.
Indexes should be NOT NULL in the heap table.
33. What is the main difference between the primary key and the candidate key?
The primary key uniquely identified each row of a table. only one primary key is
available for a table.

A primary is also a candidate key.


Candidate key that can be used for all foreign key references.
For mor detail you can see: Difference between Primary and Candidate Key

34. What is the difference between DELETE and TRUNCATE commands in MySQL?
DELETE Command is used to delete rows from the table depending on given the
condition. TRUNCATE command is used to DELETE all rows from the table. DELETE
command is a Data Manipulation Language command. TRUNCATE command is a Data
Definition Language command.

For More detail you can see : Difference between DELETE and TRUNCATE

35. What is InnoDB?


A SQL storage database is called InnoDB database. The InnoDB offers ACID
transactions, row-level locking, and foreign key support. InnoDB is owned by Oracle
Corporation.

36. What is the difference between UNION and UNION ALL in MySQL?
During combining the results of more than one SELECT statement, the UNION operator
deletes duplicate rows between the various SELECT statements. The UNION ALL also
combines the result set of more than one SELECT statement, but it does not delete
duplicate rows.

37. What is a ‘timestamp’ in MySQL?


In MySQL, When a row is added to or updated in a table, a data type “timestamp”
automatically records the time.

38. What is the use of ENUMs in MySQL?


ENUM is a string object that can be used when creating tables to specify a set of
predefined values.

CREATE table size(name ENUM(‘Small’, ‘Medium’, ‘Large’);

For more detail refer to those article on Enumerator (Enum) in MySQL

39. How can you control max size of heap in MySQL?


MySQL config variable max_heap_table_size can be used to control the max size of
heap.

Syntax:

SET max_heap_table_size = M

40. What is a view? How to create a view?


A database object that has no value is called view. Rows and columns exist in a
view. A view is virtual table. it is created by combining one or more tables. The
difference of a view and a table is that views are definition that build on other
tables. If the underlying table changes, the View will also reflect those same
changes.

The below syntax is used to create a view.

Syntax:

CREATE VIEW view_name AS

SELECT columns

FROM tables

[WHERE conditions];

41. Where MyISAM table will be stored and also give MyISAM formats of storage?
Every MyISAM table is stored on disk.

There are three storage formats can be used .

The .frm file can be used to store table definition.


The .MYD( MYData) extension can be used for data files.
The .MYI(MYIndex) extension can be used to Index files.
42. How can we save images in MySQL?
In MySQL, Blobs can be used to store images. All database images are first
converted into blobs then saved and then they will be added to the database, and
finally, it will later be stored on the disk.

43. What are trigger and how many TRIGGERS are available in MySQL table?
A trigger is a procedural code in a database. Triggers are automatically triggered
when specific events occur on a particular table. During column updating triggers
are invoked automatically.

SIX triggers are available in MySQL table.

BEFORE INSERT
AFTER INSERT
BEFORE UPDATE
AFTER UPDATE
BEFORE DELETE
AFTER DELETE
For more detail you can see: Different types of MySQL Triggers (with examples) –
GeeksforGeeks

44. What are the different characteristics of MySQL MyISAM Static and MyISAM
Dynamic?
Width of all fields is fixed in MyISAM Static table whereas width of all fields is
not fixed in MyISAM Dynamic. In MyISAM Dynamic table width will be like TEXT, BOLD,
etc.
In case of corruption MyISAM static table is easy to store.
Advanced MySQL Interview Questions
45. What are Access Control Lists?
A list of permissions known as an Access Control List is connected to an object. It
is MySQL server security model helps in troubleshooting issues like users being
unable to connect. MySQL holds the ACL’s cached in memory. ACL’s also called grant
tables. MySQL verifies the authentication data and permissions against the ACLs. It
predetermined order whenever a user tries to log in or execute a command.
46. What is Normalization and list the different types of normalization?
Normalization is used to avoid duplication and redundancy. it is a process of
organizing data. There are many normal forms of normalization. which are also
called successive levels. The first three regular forms are sufficient.

First Normal Form (1NF): There are no repeating groups within rows.

Second Normal form(2NF): Value of every supporting column depending on the whole
primary key.

Third Normal Form(3NF): It depends only on the primary key and no other value of
non-key column.

47. What are various ways to create an index?


There are many options to create an index as below:

T-SQL statements can be used to create an index.


The SQL Server Management Studio is available for use. we can use this to browse to
the table where the index will be created, and then right-click on the Indexes
node. We must select the New Index option over here.
We can identify the index indirectly by specifying the PRIMARY KEY and the UNIQUE
constraint in the CREATE TABLE or ALTER TABLE statement.
48. What are a clustered index and a non clustered index?
Cluster Index: An index type used to arrange data in a table is called a clustered
index. The table’s data are stored in a specific order based on the clustered
index.

Non Cluster Index: A non-clustered index is also a type of index used to organize
data in a table. The table’s data are not stored in a specific order based on the
non clustered index.

For more details, Check our latest article on Difference between Clustered and Non-
clustered index.

49. How to validate emails using a single query?


We can use the regular expressions function (REGEXP_LIKE) to validate emails. Below
is the example of validate emails using a single query.

SELECT

Email

FROM

Vehicle

where NOT REGEXP_LIKE(Email, ‘[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}’, ‘i’);

For detail you can check our latest article on Regular expressions (Regexp).

50. How can you handle the –secure-file-priv in MySQL?


The MySQL Server is restricted from loading directories using the LOAD DATA INFILE
command by the -secure-file-priv option. Use the SHOW VARIABLES LIKE
“secure_file_priv” command to view the directory that has been configured.

There are two options to handle as below.

Either transfer your file to the directory that secure-file-priv specifies.


Or you can turn off secure-file-priv. This must be removed at the beginning and
cannot be disabled later.

You might also like