专业的linux技术站点
Controlled by you.

11个MySQL数据库面试问题和解答

1.使用SELECT语句查找正在运行的服务器的版本并打印当前数据库的名称?

答案:下面的MySQL命令将显示服务器版本和当前选定的数据库。

mysql> SELECT VERSION(),DATABASE(); 
+ ------------------------- + ------------ + 
| VERSION()| DATABASE()| 
+ ------------------------- + ------------ + 
|   5.5.56   |     NULL     | 
+ ------------------------- + ------------ + 
1 row in set (0.06 sec)

在数据库列中,它显示NULL值,因为我们没有选择任何数据库。所以,选择数据库,如下面的命令所示。

mysql>use linux-code;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql>select VERSION(),DATABASE();
+ ------------------------- + ------------ + 
| VERSION()| DATABASE()| 
+ ------------------------- + ------------ + 
|  5.5.56   | linux-code | 
+ ------------------------- + ------------ + 
1 row in set (0 sec)
2. USE NOT运算符(!)从表中选择除’SAM’以外的所有用户都说’Tecmint

答案:下面的语句将显示表’ Tecmint ‘中除用户’ SAM ‘ 外的所有用户的所有列。

mysql>SELECT * FROM linux-code WHERE user !=SAM;
+---------------------+---------+---------+---------+---------+-------+ 
| date                | user    | host   | root     | local   | size  | 
+---------------------+---------+---------+---------+---------+-------+ 
| 2018-02-14 14:42:21 |Sebastion| venus  | barb     | venus   | 98151 | 
| 2018-02-15 08:50:57 |   TIM   | venus  | phil     | venus   | 978   | 
+---------------------+---------+---------+---------+---------+-------+
3.是否可以用NOT(!)运算符来实现’AND’。

Ans:当我们使用(=)时使用AND运算符,当使用(!=)时使用运算符OR。AND运算符的例子(=)。

mysql> SELECT * FROM mail WHERE user = SAM AND root = phil

具有OR运算符的(!=)的例子。

mysql>SELECT * FROM mail WHERE user != SAM OR root != phil;
+---------------------+---------+---------+---------+---------+-------+ 
| date                | user    | host    | root    | local   | size  | 
+---------------------+---------+---------+---------+---------+-------+ 
| 2018-02-14 14:42:21 |Sebastion| venus   | barb    | venus   | 98151 | 
+---------------------+---------+---------+---------+---------+-------+
  1. =:等于
  2. !=:不等于
  3. !:表示NOT运算符

AND&OR在MySQL中被视为加入运算符。

4.什么IFNULL()语句用于MySQL?

答案: MySQL中的查询可以使用IFNULL()语句精确编写。IFNULL()语句测试它的第一个参数,如果它不是NULL,则返回,否则返回第二个参数。

mysql>SELECT name, IFNULL(id,'Unknown') AS 'id' FROM taxpayer;
+---------+---------+
| name    | id      |
+---------+---------+
| bernina | 198-48  |
| bertha  | Unknown |
| ben     | Unknown |
| bill    | 475-83  |
+---------+---------+
5.您希望仅从结果集的开头或结尾查看结果集中的某些行。你会怎么做?

Ans:我们需要使用LIMIT子句和ORDER BY来实现上述场景。

显示1条记录
mysql>SELECT * FROM name LIMIT 1;</b>
+----+------+------------+-------+----------------------+------+ 
| id | name | birth      | color | foods                | cats | 
+----+------+------------+-------+----------------------+------+ 
| 1  | Fred | 1997-04-13 | black | lutefisk,fadge,pizza | 0    | 
+----+------+------------+-------+----------------------+------+
显示5条记录
mysql>SELECT * FROM profile LIMIT 5;
+----+------+------------+-------+-----------------------+------+ 
| id | name | birth      | color | foods                 | cats | 
+----+------+------------+-------+-----------------------+------+ 
| 1  | Fred | 1997-04-13 | black | lutefisk,fadge,pizza  | 0    | 
| 2  | Mort | 1992-09-30 | white | burrito,curry,eggroll | 3    | 
| 3  | Brit | 1991-12-01 | red   | burrito,curry,pizza   | 1    |   
| 4  | Carl | 1995-11-02 | red   | eggroll,pizza         | 4    | 
| 5  | Sean | 1994-07-04 | blue  | burrito,curry         | 5    | 
+----+------+------------+-------+-----------------------+------+

mysql>SELECT * FROM profile ORDER BY birth LIMIT 1;
+----+------+------------+-------+----------------+------+ 
| id | name | birth      | color | foods          | cats | 
+----+------+------------+-------+----------------+------+ 
| 9  | Dick | 1990-08-20 | green | lutefisk,fadge | 0    | 
+----+------+------------+-------+----------------+------+
6. Oracle与MySQL的。哪一个和为什么?

Ans:那么两者都有其优点和缺点。作为一个时间问题,我更喜欢MySQL。

选择MySQL的原因oracle
  1. Mysql是FOSS。
  2. MySQL是可移植的。
  3. MYSQL同时支持GUI和命令提示符。
  4. 查询浏览器支持MySQL管理。
7.你如何在MySQL中获得当前日期?

回答:在MySQL中获取当前日期与执行下面的SELECT语句一样简单。

mysql>SELECT CURRENT_DATE();
+----------------+
| CURRENT_DATE() |
+----------------+
| 2018-02-17     |
+----------------+
8.如何将表格导出为MySQL中的XML文件?

Ans:我们使用’ -e ‘(导出)选项将MySQL表或整个数据库导出到XML文件中。对于大型表格,我们可能需要手动实施,但对于小型表格,像phpMyAdmin这样的应用程序可以完成这项工作。

MySQL的本地命令可以做到这一点。

mysql -u USER_NAME –xml -e 'SELECT * FROM table_name' > table_name.xml

其中USER_NAME是数据库的用户名,table_name是我们导出到XML的表,table_name.xml是存储数据的xml文件。

9.什么是MySQL_pconnect?它与MySQL_connect有什么不同?

答案: MySQL_pconnect()打开一个持续到MySQL数据库的连接,这意味着数据库不会在每次页面加载时打开,因此我们不能使用MySQL_close()关闭持久连接。

MySQL_pconnect和MySQL_connect之间的简短区别是。

与MySQL_pconnect不同,MySQL_connect – 每次加载页面时都会打开数据库,可以随时使用语句MySQL_close()关闭该数据库。

10.您需要显示数据库中’用户’表中定义的所有索引,例如’mysql’。你将如何实现这一目标?

Ans:以下命令将显示表’user’的所有索引。

mysql>show index from user;
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ 
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | 
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ 
| user  |          0 | PRIMARY  |            1 | Host        | A         |        NULL |     NULL | NULL   |      | BTREE      |         |               | 
| user  |          0 | PRIMARY  |            2 | User        | A         |           4 |     NULL | NULL   |      | BTREE      |         |               | 
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ 
2 rows in set (0.00 sec)
11.什么是CSV表格?

回答: CSV代表逗号分隔值(又名字符分隔值)。CSV表格以纯文本和表格格式存储数据。它通常每行包含一条记录。

每个记录由特定的分隔符(逗号,分号,…)分隔,每个记录具有相同的字段顺序。CSV表最常用于将手机联系人存储到导入和导出,并可用于存储任何种类的纯文本数据。

打赏作者

您的支持将鼓励我们继续创作!

[微信] 扫描二维码打赏

[支付宝] 扫描二维码打赏

正在跳转到PayPal...
转载请注明出处:北慕城南's Blog » 11个MySQL数据库面试问题和解答

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址