• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

给Linux用户的11个高级MySQL数据库面试问题和答案

mysql 搞代码 4年前 (2022-01-09) 13次浏览 已收录 0个评论

我们已经发表了两篇MySQL的文章,非常感谢Tecmint社区的大力支持。这是MySQL面试系列的第三篇文章,并且在面试专栏中排第16。 15

我们已经发表了两篇MySQL的文章,非常感谢Tecmint社区的大力支持。这是MySQL面试系列的第三篇文章,并且在面试专栏中排第16。

  • 15个基本的MySQL面试问题
  • 给中级人员的10个MySQL面试问题
  • ————————————–分割线 ————————————–

    Ubuntu 14.04下安装MySQL

    《MySQL权威指南(原书第2版)》清晰中文扫描版 PDF

    Ubuntu 14.04 LTS 安装 LNMP Nginx\PHP5 (PHP-FPM)\MySQL

    Ubuntu 14.04下搭建MySQL主从服务器

    Ubuntu 12.04 LTS 构建高可用分布式 MySQL 集群

    Ubuntu 12.04下源代码安装MySQL5.6以及Python-MySQLdb

    MySQL-5.5.38通用二进制安装

    ————————————–分割线 ————————————–

    因为有大家的支持,我们才能做到现在,感谢你们这一路上对我们的支持.在这篇文章中,我们将主要针对MySQL的实用技巧,讲讲面试中相关的问题.

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

    答:下面的语句的结果会显示服务器的版本和当前的数据库名称

    mysql> SELECT VERSION(), DATABASE();+————————-+————+ | VERSION()| DATABASE() | +————————-+————+ | 5.5.34-0ubuntu0.13.10.1 | NULL| +————————-+————+ 1 row in set (0.06 sec)

    在Database一列中显示NULL是因为我们当前没有选择任何数据库。因此,,使用下面的语句先选择一个数据库,就能看到相应的结果。

    mysql> use Tecmint;Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -ADatabase changedmysql> select VERSION(), DATABASE();+————————-+————+| VERSION()| DATABASE() |+————————-+————+| 5.5.34-0ubuntu0.13.10.1 | tecmint |+————————-+————+1 row in set (0.00 sec)2. 使用非运算符(!)从表”Tecmint”中列出除了”SAM”以外的所有user记录

    答:使用下面的语句

    mysql> SELECT * FROM Tecmint WHERE user !=SAM;+———————+———+———+———+———+——-+ | date| user | host | root| local | size | +———————+———+———+———+———+——-+ | 2001-05-14 14:42:21 | Anthony | venus | barb| venus | 98151 | | 2001-05-15 08:50:57 | TIM| venus | phil| venus | 978 | +———————+———+———+———+———+——-+3. ‘AND’运算符有可能带着非运算符(!)一起用吗?

    答:当我们使用‘=’号时用‘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 | +———————+———+———+———+———+——-+ | 2001-05-14 14:42:21 | Anthony | venus | barb | venus | 98151 | +———————+———+———+———+———+——-+

    AND和OR在MySQL中被看作连接运算符

    4. IFNULL()当打在MySQL中有什么作用?

    答:使用IFNULL()方法能使MySQL中的查询更加精确。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. 如果你只想知道从一个结果集的开头或者结尾开始的特定几条记录,该如何实现?

    答:我们需要把LIMIT语句接在ORDER BY语句后使用,以达到上述效果。

    显示一行记录mysql> SELECT * FROM name LIMIT 1;+—-+——+————+——-+———————-+——+ | id | name | birth| color | foods| cats | +—-+——+————+——-+———————-+——+ | 1 | Fred | 1970-04-13 | black | lutefisk,fadge,pizza | 0 | +—-+——+————+——-+———————-+——+显示5行记录mysql> SELECT * FROM profile LIMIT 5;+—-+——+————+——-+-本文来源gaodai$ma#com搞$代*码6网———————-+——+ | id | name | birth| color | foods| cats | +—-+——+————+——-+———————–+——+ | 1 | Fred | 1970-04-13 | black | lutefisk,fadge,pizza | 0 | | 2 | Mort | 1969-09-30 | white | burrito,curry,eggroll | 3 | | 3 | Brit | 1957-12-01 | red | burrito,curry,pizza | 1 || 4 | Carl | 1973-11-02 | red | eggroll,pizza| 4 | | 5 | Sean | 1963-07-04 | blue | burrito,curry| 5 | +—-+——+————+——-+———————–+——+显示按照ORDER BY排序后的第一条记录mysql> SELECT * FROM profile ORDER BY birth LIMIT 1;+—-+——+————+——-+—————-+——+ | id | name | birth| color | foods| cats | +—-+——+————+——-+—————-+——+ | 9 | Dick | 1952-08-20 | green | lutefisk,fadge | 0 | +—-+——+————+——-+—————-+——+6. Oracle 和 MySQL该如何选择,为什么?

    答:它们都有各自的优点和缺点。考虑到时间因素,我倾向于MySQL。

    选择MySQL而不选orcale的原因7. MySQL中如何得到当前日期?


    搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
    转载请注明原文链接:给Linux用户的11个高级MySQL数据库面试问题和答案

    喜欢 (0)
    [搞代码]
    分享 (0)
    发表我的评论
    取消评论

    表情 贴图 加粗 删除线 居中 斜体 签到

    Hi,您需要填写昵称和邮箱!

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