mysql基础面试题_15个 MySQL 基础面试题

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

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

root@localhost:/home/avi# service mysql status

/usr/bin/mysqladmin Ver 8.42 Distrib 5.1.72, for debian-linux-gnu on i486

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Server version 5.1.72-2

Protocol version 10

Connection Localhost via UNIX socket

UNIX socket /var/run/mysqld/mysqld.sock

Uptime: 1 hour 22 min 49 sec

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 停止服务。

root@localhost:/home/avi# service mysql stop

Stopping MySQL database server: mysqld.

root@localhost:/home/avi# service mysql start

Starting MySQL database server: mysqld.

Checking for corrupt, not cleanly closed and upgrade needing tables..

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

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

root@localhost:/home/avi# mysql -u root -pEnter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 207

Server version: 5.1.72-2 (Debian)

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

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

答案:运行命令 show databases;

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| a1 |

| cloud |

| mysql |

| phpmyadmin |

| playsms |

| sisso |

| test |

| ukolovnik |

| wordpress |

+--------------------+

10 rows in set (0.14 sec)

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

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

mysql> use cloud;

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>

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

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

mysql> show tables;

+----------------------------+

| Tables_in_cloud |

+----------------------------+

| oc_appconfig |

| oc_calendar_calendars |

| oc_calendar_objects |

| oc_calendar_repeat |

| oc_calendar_share_calendar |

| oc_calendar_share_event |

| oc_contacts_addressbooks |

| oc_contacts_cards |

| oc_fscache |

| oc_gallery_sharing |

+----------------------------+

10 rows in set (0.00 sec)

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

答案:运行命令 describe table_name;

mysql> describe oc_users;

+----------+--------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+----------+--------------+------+-----+---------+-------+

| uid | varchar(64) | NO | PRI | | |

| password | varchar(255) | NO | | | |

+----------+--------------+------+-----+---------+-------+

2 rows in set (0.00 sec)

问题8:如何删除表?

答案:运行命令 drop table table_name;

mysql> drop table lookup;

Query OK, 0 rows affected (0.00 sec)

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

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

mysql> drop database a1;

Query OK, 11 rows affected (0.07 sec)

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

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

mysql> select * from engines;

+------------+---------+----------------------------------------------------------------+--------------+------+------------+

| ENGINE | SUPPORT | COMMENT | TRANSACTIONS | XA | SAVEPOINTS |

+------------+---------+----------------------------------------------------------------+--------------+------+------------+

| InnoDB | YES | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |

| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |

| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |

| CSV | YES | CSV storage engine | NO | NO | NO |

| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |

| FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |

| ARCHIVE | YES | Archive storage engine | NO | NO | NO |

| MyISAM | DEFAULT | Default engine as of MySQL 3.23 with great performance | NO | NO | NO |

+------------+---------+----------------------------------------------------------------+--------------+------+------------+

8 rows in set (0.00 sec)

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

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

+-----+

| uid |

+-----+

| avi |

+-----+

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”;

mysql> select create_time, engine from xyz where engine="MyIsam";

+---------------------+--------+

| create_time | engine |

+---------------------+--------+

| 2013-12-15 13:43:27 | MyISAM |

| 2013-12-15 13:43:27 | MyISAM |

| 2013-12-15 13:43:27 | MyISAM |

| 2013-12-15 13:43:27 | MyISAM |

| 2013-12-15 13:43:27 | MyISAM |

| 2013-12-15 13:43:27 | MyISAM |

| 2013-12-15 13:43:27 | MyISAM |

| 2013-12-15 13:43:27 | MyISAM |

| 2013-10-23 14:56:38 | MyISAM |

| 2013-10-23 14:56:38 | MyISAM |

| 2013-10-23 14:56:38 | MyISAM |

| 2013-10-23 14:56:38 | MyISAM |

| 2013-10-23 14:56:38 | MyISAM |

| 2013-10-23 14:56:38 | MyISAM |

| 2013-10-23 14:56:38 | MyISAM |

+---------------------+--------+

132 rows in set (0.29 sec)

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

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

mysql> select * from xrt where name = "tecmint" and web_address = “tecmint.com”;

+---------------+---------------------+---------------+

| Id | name | web_address |

+---------------+---------------------+----------------+

| 13 | tecmint | tecmint.com |

+---------------+---------------------+----------------+

| 41 | tecmint | tecmint.com |

+---------------+---------------------+----------------+

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

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

mysql> select * from xrt where name != ”tecmint” and web_address = ”tecmint.com”;

+---------------+---------------------+---------------+

| Id | name | web_address |

+---------------+---------------------+----------------+

| 1173 | tecmint | tecmint.com |

+---------------+---------------------+----------------+

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

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

mysql> select count(*) from Tables;

+----------+

| count(*) |

+----------+

| 282 |

+----------+

1 row in set (0.01 sec)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值