MySQL

MySQL 知识量:16 - 40 - 165

2.2 数据库和表><

显示数据库- 2.2.1 -

有些时候,我们需要查看MySQL中到底有哪些数据库,这时可以使用show命令,后面跟“databases”来查看。

show databases;

显示的内容类似如下所示:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| pndb               |
| sys                |
| webstudy           |
+--------------------+

显示表- 2.2.2 -

要查看MySQL的某个数据库中到底有哪些表,可以使用show命令,后面跟“tables”来查看。

show tables;

如果当前选择的数据库是mysql,则可能的显示为:

+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| engine_cost               |
| event                     |
| func                      |
| general_log               |
| gtid_executed             |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| innodb_index_stats        |
| innodb_table_stats        |
| ndb_binlog_index          |
| plugin                    |
| proc                      |
| procs_priv                |
| proxies_priv              |
| server_cost               |
| servers                   |
| slave_master_info         |
| slave_relay_log_info      |
| slave_worker_info         |
| slow_log                  |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+

显示表列- 2.2.3 -

要查看MySQL的某个表中到底有哪些列表,也可以使用show命令来查看,具体方法如下:

show columns from time_zone;

以上代码实际是查看了表time_zone的结构,可能的输出为:

+------------------+------------------+------+-----+---------+----------------+
| Field            | Type             | Null | Key | Default | Extra          |
+------------------+------------------+------+-----+---------+----------------+
| Time_zone_id     | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| Use_leap_seconds | enum('Y','N')    | NO   |     | N       |                |
+------------------+------------------+------+-----+---------+----------------+

其他显示语句- 2.2.4 -

MySQL的show命令功能十分强大,除了显示数据库、表和表列以外,还可以显示其他与数据库系统相关的信息,例如:

  • show status,用于显示广泛的服务器状态信息。

  • show create database,用于显示创建特定数据库的SQL语句。

  • show create table,用于显示创建特定的表的SQL语句。

  • show grants,用于显示授予用户的安全权限。

  • show errors,用于显示服务器错误信息。

  • show warnings,用于显示服务器警告信息。

自动增量- 2.2.5 -

在数据库的表中,某些列需要唯一的值,例如“主键”列。这些特别的列用于标示订单编号、顾客ID等。如果手工添加则极易出现错误,因为每次添加新的记录,都需要知道上次的编号,以便分配下一个可用的编号。为了解决这个问题,MySQL跟绝大多数的数据库管理系统一样引入自动增量功能,这样,MySQL可以自动的为每个行分配下一个可用的编号。

要设置自动增量,需要在表定义时进行特别说明。

| time_zone | CREATE TABLE `time_zone` (
  `Time_zone_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `Use_leap_seconds` enum('Y','N') NOT NULL DEFAULT 'N',
  PRIMARY KEY (`Time_zone_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT='Time zones' |

以上是表time_zone的SQL创建语句,其中,第二行为列Time_zone_id的创建语句,语句最后标注了“AUTO_INCREMENT”,表明它是自动增量。