Mysql Interview Que & Ans
Mysql Interview Que & Ans
Mysql_connect You can open and close the database connection based on the request.
Mysql_connect vs Mysql_pconnect
Q3. Can you tell what are the different set operations available in MySQL?
The various set operations available in MySQL are as follows:
UNION – This operation returns all the distinct rows selected by a query
UNION ALL – This operation returns all the rows selected by a query and also includes all duplicate
rows.
MINUS – This operation returns all the distinct rows selected by the first query but does not select the
rows selected by the second query.
INTERSECT – This operation returns all the distinct rows selected by both queries.
MyISAM
Heap
Merge
INNO DB
ISAM
TINYBLOB
BLOB
MEDIUMBLOB
LONGBLOB
TEXT
TEXT is used to store string values and holds up to a maximum length of 65,535 characters. The
following are the four types of TEXT
TINYTEXT
TEXT
MEDIUMTEXT
LONGTEXT
Q12. Can you tell how can you display the Maximum salary in SQL?
To display the maximum salary in SQL, you can use the inbuilt function called MAX().
Q13. What is the difference between the NVL function, IFNULL function, and the ISNULL
function?
The NVL function, IFNULL function, and the ISNULL function all of them are used to replace the
NULL value with another value. The ORACLE users use the NVL function, MySQL users use the
IFNULL function and the SQL servers use the ISNULL function
For example, let us say we have a column(column_3) which has NULL values.
So, if you run the below statement, the output you would get is a NULL value.
Now, to overcome this, you can use the above three functions as follows:
Q14. What is the difference between GUI Testing and Database Testing?
GUI Testing Database Testing
Deals with items that interact with users. Deals with items that are hidden from users.
Q15. How To Display Nth Highest Salary From A Table In A Mysql Query?
Consider the table named “Employee”.
So, if you want to find out the 7th largest salary, consider the below query.
Now, let’s move on to the next set of questions, which is the PHP MySQL Interview Questions.
Q2. Can you tell the Difference Between Mysql_fetch_object And Mysql_fetch_array?
Both of them are similar but vary with a single difference. Mysql_fetch_object return as object and
Mysql_fetch_array returns an array. This means that you cannot access the data by their offsets but
can only access through its fields names.
Q3: What are the ways in which you can retrieve data in the result set of MySQL using PHP?
The different ways in which you can retrieve data in the result set of MySQL using PHP are as
follows:
Q4. Can you tell how many values can Set the function of MySQL to consider?
MySQL’s Set function can take a maximum of 64 values, but can also consider 0 values.
Q5. Can you tell the reasons for selecting Lamp(Linux, Apache, MySQL, PHP) instead of any
other combination of software programs, servers, and operating system?
The reason behind selecting Lamp stack is very simple. Linux, Apache, MySQL, PHP are open
source software. The security of the Linux operating system is much more than Windows. The
Apache server is a better server than others in the perspective of functionalities and security. MySQL
is one of the most popular open source databases is used with PHP to perform various
functionalities.
Q6. Can you tell a way to know the number of days between the two given dates in PHP?
You can simply declare the two dates, and then use the strtotime function to subtract both the dates
and find the differences between the days in seconds.
date1 =’2018-09-15′;
date2 = ‘2018-10-15’;
days = (strtotime($date1) – strtotime($date2)) / (60 * 60 * 24);
Q7. Can you tell how to find the number of rows in a resultset using PHP?
You can use the mysql_num_rows function to find the number of rows in a resultset.
2 number_of_rows = mysql_num_rows(output);
Q9. If you wish to encrypt the username and password using PHP, how will you do that?
You can encrypt the username and password using the following functions respectively:
1 SET USERNAME=USERNAME("Username");
2 SET PASSWORD=PASSWORD(”Password”);
Q10. How can you increase the performance of MySQL SELECT query?
The SELECT statement is used to select data from a database and the data returned is stored in a
result table, called the result-set. The SELECT statement can be either individually used or can be
used with other statements such as ORDER BY, GROUP BY, and HAVING clause.
To increase the performance of a MySQL SELECT query, you can use the LIMIT clause to limit
MySQL from further search in a table, after collecting the required number of records. Apart from
this, we can also use the LEFT JOIN or the RIGHT JOIN to retrieve data from two or more tables.
Q11. Can you tell the difference between $message and $$message?
$message and $$message are both PHP variables. $message is used to store the variable data
and $$message is used to store the variable of a variable. So basically, data is stored in $message
and $$message is used to store the data that can be changed dynamically.
3 {
4 echo output['Students_Name'];
}
5
Q13. How can you take the backup and restore a MySQL database using PHP?
MySQL comes with a utility mysqldump to provide the database backup and restore. The command
you can use for backup and restore are as follows respectively.
You can also use the phpMyAdmin user interface to backup your database. If you wish to backup,
the database you just have to click on the “export” link on the phpMyAdmin main page.
Q14. Can you tell the difference between ereg_replace() and eregi_replace()?
ereg_replace and eregi_repalce() are regular expressions used to replace the matching characters.
The only difference between these functions are eregi_replace() function ignores the case
distinction when it matches alphabetic characters.
Option 1: You can use the PHP Copy to move files from server to server. Refer to the syntax below:
Option 2: You can use the PHP FTP to move files from server to server. Refer to the syntax below.
2 ftp_get($connect_it,$local_file,$remote_file,FTP_BINARY)
Option 3: You can use the ZIP and UNZIP Files option in PHP.
Q2. Can you tell what are various ways to create an index?
The various options to create an index are as follows:
Q3. What is the difference between a Heap table and Temporary table?
Heap Table Temporary Table
Heap Table exists in the memory A temporary table is valid only during the session.
Temporary tables need a special privilege to create Heap Tables are storage engines which do not need special
tables. privileges.
Q4. Why do you think it is advised to not to use GUID and CHARACTER columns as Clustered
Index arrays?
GUID columns affect the clustered index sorting performance as the nature of the random GUID
value generated is larger than the integer data types.
CHARACTER columns affect the sorting performance of the character data types, larger-size
values, non-increasing values, and non-static values which often tend to change. These
values cannot be compared as binary values, as the characters comparison mechanism depends
on the used collection.
If you wish to see the directory that has been configured then you may use the SHOW VARIABLES
LIKE “secure_file_priv”;
A B-Tree index can be used for column comparisons A Hash-Index can be only used for equality comparisons
like =, >, <, >=, <= or BETWEEN operators. that use =, >=, <=.
B-Tree can be used to search the next entry in the Hash Index cannot be used to search for the next entry in
order. the order.
MongoDB MYSQL
An open source database that stores JSON like An open source relational database management system
documents which vary in structure. which stores relational data.
Each and every individual record are stored as Each and every individual record are stored as rows in a
documents. table.
4 GROUP BY EmployeeID
Now, if you consider that the above two columns in the query are the secondary index columns,
then the index will not be invoked. Else, if the above two columns contain the first column while
creating an index(i.e. the primary index), then the index will definitely be invoked.
In the above scenario, I have considered that StudentID and the StudentFirstName as primary
columns, so an Index will be used in this case.
Q2. Suppose you have to collect the first name, middle name and the last name of students
from the below table. But, you observe that there few missing values either in the first name,
middle name and the last name columns. How will you return the first non-null values?
StudentID FirstName MiddleName LastName
You can use the COALESCE function to return the first non-null value from the table. Consider the
below query.
Q3. Consider a scenario where you have two to three tables with thousand tuples in each of
them. Now, if you have to perform a JOIN operation between them will you choose to perform
filtering of rows or transforming of rows first.
The answer to this question is quite logical. If you have three tables with thousands of tuples in each
of them, then you are first supposed to filter the rows in those tables and then transform the table.
This would be beneficiary as if you transform the table, then the number of columns may increase
reducing the performance. Due to such performance issues, a lot of memory will be used and the
output will appear on your screen after quite a long wait of time.
1 SELECT
2 Email
4 Employee
Q5. Consider a scenario where you have to send an email to a client from the SQL database.
How do you think you can achieve this task?
To send an email from the database, you can use the stored procedures. Follow the below
procedure to send the emails:
1 USE [YourDB]
2
EXEC msdb.dbo.sp_send_dbmail
3 @recipients = 'abc@example.com; def@example.com;xyz@example.com’
4 @body = ' Sample Body Text',
6 GO
Q6. Consider you have the following three tables which have to be linked together.
Department(Ssn, EmployeeName, EmployeeAge..)
EmployeeContactDetails(Ssn, DepartmentID,desc,Ord)
EmployeeAddress(Ssn,DepartmentID, desc, Ord)
The problem statement is to select all the departments from the Department table, with the “desc”
field from the EmployeeContactDetails and EmployeeAddress where Ord=1. Now, you have to
solve this problem statement with a single query.
To solve this problem statement you can use the JOINS concept. You simply have to perform a
JOIN on the Department.Ssn and the DepartmentID in the other tables.
Now, if you are sure that the Ssn exists in all the three considered tables, then you can use the
INNER JOIN. Also, if you are not sure that you have matching rows, then you can use the LEFT
JOIN. Consider the below query.
1 SELECT d.Ssn,
2 d.EmployeeName,
3 c.desc ContactDetailsDesc,
a.desc AddressDetailsDesc
4
from Department d
5
inner join EmployeeContactDetails c
6
on d.id = c.DepartmentID
7
inner join address a
8 on d.id = a.DepartmentID
9 where d.EmployeeName = 'abc'
10 and c.ord = 1
11 and a.ord = 1
Q7. If you are assigned a task, to find the information of PROCEDURES. What are the basic
commands that you will use to do so?
To check the procedures, you can consider the following query.
2 WHERE Type=’PROCEDURE’
To find the procedures columns information, you can consider the following query.
Q8. Can you tell which of the following WHERE clauses is faster?
WHERE col * 4 < 16
If we compare both the statements, then the second WHERE clause would be comparatively faster
than the first one. That is because, for the first statement, MYSQL would retrieve the value of ‘col’
for each and every row, multiplied by four. After that, it would compare the result to 16. Also, in the
first case no Index can be used, and hence it makes it further slow.
Q9. What is the main difference between ‘BETWEEN’ and ‘IN’ condition operators?
BETWEEN operator is used to display rows based on a range of values in a row whereas the IN
condition operator is used to check for values contained in a specific set of values.
Example of BETWEEN:
1 SELECT * FROM Students where ROLL_NO BETWEEN 10 AND 50;
Example of IN:
1 SELECT * FROM students where ROLL_NO IN (8,15,25);
Case Sensitivity
Kana Sensitivity
Width Sensitivity
Accent Sensitivity