此前我们已经有发表过Linux 面试基础问答之共3篇文章,获得读者的好评,同时我们得到反馈,有些读者希望这种交互式学习方法能够做得更加灵活。心动不如行动,我们这就为您奉上 15个 MySQL 面试题

问题1:你如何确定 MySQL 是否处于运行状态?

答案: Debian 上运行命令 service mysql status,在RedHat 上运行命令 service mysqld status。然后看看输出即可。


  1. root@localhost:/home/avi# service mysql status
  2. /usr/bin/mysqladmin Ver 8.42 Distrib 5.1.72, for debian-linux-gnu on i486
  3. Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
  4. Oracle is a registered trademark of Oracle Corporation and/or its
  5. affiliates. Other names may be trademarks of their respective
  6. owners.
  7. Server version 5.1.72-2
  8. Protocol version 10
  9. Connection Localhost via UNIX socket
  10. UNIX socket /var/run/mysqld/mysqld.sock
  11. Uptime: 1 hour 22 min 49 sec
  12. Threads: 1 Questions: 112138 Slow queries: 1 Opens: 1485 Flush tables: 1 Open tables: 64 Queries per second avg: 22.567.

问题2:如何开启或停止 MySQL 服务?

答案:运行命令 service mysqld start 开启服务;运行命令 service mysqld stop 停止服务。


  1. root@localhost:/home/avi# service mysql stop
  2. Stopping MySQL database server: mysqld.
  3. root@localhost:/home/avi# service mysql start
  4. Starting MySQL database server: mysqld.
  5. Checking for corrupt, not cleanly closed and upgrade needing tables..

问题3:如何通过 Shell 登入 MySQL?

答案:运行命令 mysql -u root -p


  1. root@localhost:/home/avi# mysql -u root -p
  2. Enter password:
  3. Welcome to the MySQL monitor. Commands end with ; or \g.
  4. Your MySQL connection id is 207
  5. Server version: 5.1.72-2 (Debian)
  6. Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
  7. Oracle is a registered trademark of Oracle Corporation and/or its
  8. affiliates. Other names may be trademarks of their respective
  9. owners.
  10. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  11. mysql>

问题4:如何列出所有数据库?

答案:运行命令 show databases;


  1. mysql> show databases;
  2. +--------------------+
  3. | Database |
  4. +--------------------+
  5. | information_schema |
  6. | a1 |
  7. | cloud |
  8. | mysql |
  9. | phpmyadmin |
  10. | playsms |
  11. | sisso |
  12. | test |
  13. | ukolovnik |
  14. | wordpress |
  15. +--------------------+
  16. 10 rows in set (0.14 sec)

问题5: 如何切换到某个数据库并在上面工作?

答案:运行命令 use database_name; 进入名为 database_name 的数据库。


  1. mysql> use cloud;
  2. Reading table information for completion of table and column names
  3. You can turn off this feature to get a quicker startup with -A
  4. Database changed
  5. mysql>

问题6:如何列出某个数据库内所有表?

答案:在当前数据库运行命令 show tables;


  1. mysql> show tables;
  2. +----------------------------+
  3. | Tables_in_cloud |
  4. +----------------------------+
  5. | oc_appconfig |
  6. | oc_calendar_calendars |
  7. | oc_calendar_objects |
  8. | oc_calendar_repeat |
  9. | oc_calendar_share_calendar |
  10. | oc_calendar_share_event |
  11. | oc_contacts_addressbooks |
  12. | oc_contacts_cards |
  13. | oc_fscache |
  14. | oc_gallery_sharing |
  15. +----------------------------+
  16. 10 rows in set (0.00 sec)

问题7:如何获取表内所有 Field 对象的名称和类型?

答案:运行命令 describe table_name;


  1. mysql> describe oc_users;
  2. +----------+--------------+------+-----+---------+-------+
  3. | Field | Type | Null | Key | Default | Extra |
  4. +----------+--------------+------+-----+---------+-------+
  5. | uid | varchar(64) | NO | PRI | | |
  6. | password | varchar(255) | NO | | | |
  7. +----------+--------------+------+-----+---------+-------+
  8. 2 rows in set (0.00 sec)

问题8:如何删除表?

答案:运行命令 drop table table_name;


  1. mysql> drop table lookup;
  2. Query OK, 0 rows affected (0.00 sec)

问题9:如何删除数据库?

答案:运行命令 drop database database-name;


  1. mysql> drop database a1;
  2. Query OK, 11 rows affected (0.07 sec)

问题10:如何查看表内所有数据?

答案:运行命令 select * from table_name;


  1. mysql> select * from engines;
  2. +------------+---------+----------------------------------------------------------------+--------------+------+------------+
  3. | ENGINE | SUPPORT | COMMENT | TRANSACTIONS | XA | SAVEPOINTS |
  4. +------------+---------+----------------------------------------------------------------+--------------+------+------------+
  5. | InnoDB | YES | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
  6. | MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
  7. | BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
  8. | CSV | YES | CSV storage engine | NO | NO | NO |
  9. | MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
  10. | FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
  11. | ARCHIVE | YES | Archive storage engine | NO | NO | NO |
  12. | MyISAM | DEFAULT | Default engine as of MySQL 3.23 with great performance | NO | NO | NO |
  13. +------------+---------+----------------------------------------------------------------+--------------+------+------------+
  14. 8 rows in set (0.00 sec)

问题11:如何从表(比如 oc_users )中获取一个 field 对象(比如 uid)的所有数据?

答案:运行命令 select uid from oc_users;


  1. mysql> select uid from oc_users;
  2. +-----+
  3. | uid |
  4. +-----+
  5. | avi |
  6. +-----+
  7. 1 row in set (0.03 sec)

问题12:假设你有一个名为 ‘xyz’ 的表,它存在多个字段,如 ‘createtime’ 和 ‘engine’。名为 engine 的字段由 ‘Memoty’ 和 ‘MyIsam’ 两种数值组成。如何只列出 ‘createtime’ 和 ‘engine’ 这两列并且 engine 的值为 ‘MyIsam’?

答案:运行命令 select create_time, engine from xyz where engine = ”MyIsam”;


  1. mysql> select create_time, engine from xyz where engine="MyIsam";
  2. +---------------------+--------+
  3. | create_time | engine |
  4. +---------------------+--------+
  5. | 2013-12-15 13:43:27 | MyISAM |
  6. | 2013-12-15 13:43:27 | MyISAM |
  7. | 2013-12-15 13:43:27 | MyISAM |
  8. | 2013-12-15 13:43:27 | MyISAM |
  9. | 2013-12-15 13:43:27 | MyISAM |
  10. | 2013-12-15 13:43:27 | MyISAM |
  11. | 2013-12-15 13:43:27 | MyISAM |
  12. | 2013-12-15 13:43:27 | MyISAM |
  13. | 2013-10-23 14:56:38 | MyISAM |
  14. | 2013-10-23 14:56:38 | MyISAM |
  15. | 2013-10-23 14:56:38 | MyISAM |
  16. | 2013-10-23 14:56:38 | MyISAM |
  17. | 2013-10-23 14:56:38 | MyISAM |
  18. | 2013-10-23 14:56:38 | MyISAM |
  19. | 2013-10-23 14:56:38 | MyISAM |
  20. +---------------------+--------+
  21. 132 rows in set (0.29 sec)

问题13:如何列出表 ‘xrt’ 内 name 域值为 ‘tecmint’,web_address 域值为 ‘tecmint.com’ 的所有数据?

答案:运行命令 select * from xrt where name = “tecmint” and web_address = “tecmint.com”;


  1. mysql> select * from xrt where name = "tecmint" and web_address = “tecmint.com”;
  2. +---------------+---------------------+---------------+
  3. | Id | name | web_address |
  4. +---------------+---------------------+----------------+
  5. | 13 | tecmint | tecmint.com |
  6. +---------------+---------------------+----------------+
  7. | 41 | tecmint | tecmint.com |
  8. +---------------+---------------------+----------------+

问题14:如何列出表 ‘xrt’ 内 name 域值不为 ‘tecmint’,web_address 域值为 ‘tecmint.com’ 的所有数据?

答案:运行命令 select * from xrt where name != "tecmint" and web_address = "tecmint.com";


  1. mysql> select * from xrt where name != ”tecmint” and web_address = ”tecmint.com”;
  2. +---------------+---------------------+---------------+
  3. | Id | name | web_address |
  4. +---------------+---------------------+----------------+
  5. | 1173 | tecmint | tecmint.com |
  6. +---------------+---------------------+----------------+

问题15:如何知道表内行数?

答案:运行命令 select count(*) from table_name;


  1. mysql> select count(*) from Tables;
  2. +----------+
  3. | count(*) |
  4. +----------+
  5. | 282 |
  6. +----------+
  7. 1 row in set (0.01 sec)

以上是文章的全部内容。这篇‘Linux 面试题’对您有任何帮助吗?别忘了在下面留言,写出您的宝贵意见。

原文发布时间为:2014-01-05

本文来自云栖社区合作伙伴“Linux中国”

15个 MySQL 基础面试题,DBA 们准备好了吗?的更多相关文章

  1. (3.15)mysql基础深入——mysql默认数据库/系统数据库

    (3.15)mysql基础深入——mysql默认数据库 关键词:Mysql默认数据库,mysql系统数据库 系统数据库的组成 一共4个 [1]information_schema(可以理解成字典表) ...

  2. MySQL 基础面试题

    请写出什么是事务? 事务是一组不可分割的 DML 语句,事务处理可以用来维护数据库的完整性,保证一组 SQL 语句要么全部执行成功,要么全部不执行,只有 InnoDB 存储引擎才支持事务 . 事务的特 ...

  3. 09: mysql基础面试题

    1.uuid和id区别 1)uuid类型是varchar(36),而自增长Id则一般是bigInt类型. 2)相对于bigInt类型的自增长Id,varchar(36)类型的uuid消耗的物理空间更为 ...

  4. (2.15)Mysql之SQL基础——开发设计最佳规范

    (2.15)Mysql之SQL基础——开发设计最佳规范 关键字:mysql三大范式,mysql sql开发规范 分析: show profile.mysqllsla.mysqldrmpslow.exp ...

  5. php面试专题---15、MySQL数据库基础考察点

    php面试专题---15.MySQL数据库基础考察点 一.总结 一句话总结: 注意:只写精品 1.mysql定义int(3),那么我存1234就错了么? 不是:无影响:只会影响显示字符的个数:可以为整 ...

  6. Linux运维必会的MySQL企业面试题大全

    (1)基础笔试命令考察 1.开启MySQL服务 /etc/init.d/mysqld start service mysqld start systemctl start mysqld 2.检测端口是 ...

  7. (转)Linux运维MySQL必会面试题100道

    老男孩教育Linux运维班MySQL必会面试题100道 (1)基础笔试命令考察 (要求:每两个同学一组,一个口头考,一个上机实战作答,每5个题为一组,完成后换位) 1.开启MySQL服务 2.检测端口 ...

  8. Linux系统——MySQL基础(一)

    # 数据库 ## 数据库简单的分类:(1)关系型数据库:MySQL和Oracle.Postgresql(2)非关系型数据库:Memcached和Redis(3)消息队列中间件(4)搜索引擎数据库:El ...

  9. (转)linux运维必会MySQL企业面试题

    linux运维必会MySQL企业面试题  老男孩教育运维班全体学员MySQL必会企业面试题最实战.最细致.最落地的运维实训基地,老男孩教育连续多年国内平均就业工资最高! 数据库的重要性是所有技术里最核 ...

随机推荐

  1. PTA | 1012 数字分类 (20分)

    给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字: A1 = 能被 5 整除的数字中所有偶数的和: A2 = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n1−n2+n ...

  2. 今天无意中看到了str_split这个函数

    前2天做广点通统计接口进行回调时需要加密,其中Python对字符串遍历很方便. s = 'abcd' for ch in s: print ch 但是PHP我想了半天还是老样子for循环之类的: &l ...

  3. 家庭版记账本app开发完成

    经过这几天关于android的相关学习,对于家庭版记账本app以及开发结束. 实现的功能为:用户的注册.登录.添加支出账单.添加收入账单.显示所有的该用户的账单情况(收入和支出).生产图表(直观的显示 ...

  4. django类视图的装饰器验证

    django类视图的装饰器验证 django类视图的get和post方法是由View内部调用dispatch方法来分发,最后调用as_view来完成一个视图的流程. 函数视图可以直接使用对应的装饰器 ...

  5. String与StringBuffer和StringBuilder的根本区别(String为什么无法修改字符串长度)

    从网上看了很多的信息,说的大部分是关于final修饰的原因,却没有详细的解释!根据自己收集的资料,跟大家分享一下我的观点(有错请指正).1.我们都知道在修改字符串长度的时候,StringBuffer和 ...

  6. Git mergetool 插件

    首先你喜欢使用git命令行操作,可以上网下载Kdiff3安装到你的电脑,然后按下面的操作就可以使用这个工具了. 1. 安装Kdiff3 软件.(最好使用默认路径) 2. 添加kdiff3到git me ...

  7. Python设计模式(5)-代理模式

    # coding=utf-8 # 代理模式:# * 代理类成为实际想调用对象的中间件,可以控制对实际调用对象的访问权限# * 可以维护实际对象的引用 class DbManager: def __in ...

  8. mysql 使用技巧 分页limit

    mysql 分页使用 limit关键字,limit x,y (x代表从哪条数据开始,y代表页面大小.mysql第一条数据在limit计算时索引为0) 前10条 limit , 从第1条开始的10条 l ...

  9. 如何批量修改文件后缀名,python来帮你

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http ...

  10. stand up meeting 12/25/2015 & weekend 12/26/2015~12/27/2015

    part 组员                工作              工作耗时/h 明日计划 工作耗时/h    UI 冯晓云  在pdf阅读页面添加生词本显示:UI美化     6 完善显示 ...