MySql is one of the most used open-source database. In this article, i try to cover some of the most asked mysql interview questions. In my previous post, i have published PHP MCQ for Practice.
MySql Interview Questions
1. Difference between Primary key and Unique Key ?
Answer – Both primary and unique is used to identify the rows uniquely. Here are some important differences.
i) Primary key cannot be null as compared to unique key which can be null for at least one value.
ii) In a table you can declare only one primary key, but unique keys can be multiple.
iii)In case of primary key clustered index is created, whereas Non-Clustered index is created in case of unique key.
2. What’s the difference between MyISAM and InnoDB storage engines.
Answer- MySql supports several storage engines out of which MyISAM and InnoDB are mostly used.
3. How to create index in mysql and what are it’s advantage ?
Answer – Syntax for creating index in MySql
1 |
CREATE INDEX index_name ON table_name (column_name); |
Let’s say i am creating index on salary column of employee table
1 |
create index salary_indx on employee (salary); |
Advantage of Indexes-
It speeds up the search. Means when you query some data it will find the result very quickly.
4. What are the disadvantages of creating an index ?
Answer – i) Slower writes – Means your insert and update statement run slow.
ii) Takes more disk space.
5. How to select unique rows ?
Answer – Using distinct keyword in mysql, you can select unique rows.
1 |
select distinct fieldname from table_name; |
6. How to sort the record in ascending or descending order in MySql.
Answer – Using order by with asc for ascending and desc for descending.
To select rows in ascending order
1 |
select * from table_name order by field_name asc; |
Ex- suppose i have to show the result of an employee, from lowest to highest salary.
1 |
select * from employee order by salary asc; |
To select rows in descending order
1 |
select * from table_name order by field_name desc; |
How to Compare Null Values in MySql
7. How to select 100th record of a table.
Answer –
1 |
select * from table_name limit 99,1; |
8. Given a table products and product_review. Select the product name whose review is given by user.
Table Name – products
1 2 3 4 5 6 7 |
+------+-----------------+---------+---------------------+ | p_id | p_name | p_price | p_created | +------+-----------------+---------+---------------------+ | 1 | Dell Backpack | 324 | 2014-07-09 17:55:40 | | 2 | The White Tiger | 348 | 2014-07-01 17:55:40 | | 3 | Iphone 5s | 40000 | 2014-07-08 00:00:00 | +------+-----------------+---------+---------------------+ |
Table Name – products_review
1 2 3 4 5 6 |
+------+-------------------+ | p_id | review | +------+-------------------+ | 2 | Excellent product | | 3 | Amazing | +------+-------------------+ |
Answer-
Here we have to fetch the record from two tables. In this case we need to use Join.
1 2 3 4 5 6 7 8 |
select p.p_name from products p inner join product_review pr on p.p_id=pr.p_id; +-----------------+ | p_name | +-----------------+ | The White Tiger | | Iphone 5s | +-----------------+ |
9. Default port on which MySql is running.
Answer Default for MySql is 3306.
To check the setting, open my.cnf file.
1 |
vim /etc/mysql/my.cnf |
10. What’s the difference between inner join and left join.
Answer – Joins are used when we want to fetch data for more than one table.
Also, You can check this amazing website for Mysql database jobs.
Explanation of inner and left join with example.