1.4 查看数据库与表

当您忘了一个数据库、一个数据表的名字,或者您忘了一个数据表的结构(忘了表中数据列的名字)。MySQL 提供了几个常用的指令,帮您解决这些问题。

SHOW DATABASES

显示您能管理的数据库。

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| menagerie          |
| mysql              |
| performance_schema |
| sys                |
| test               |
+--------------------+
6 rows in set (0.00 sec)

SELECT DATABASE()

查看当前所选择的数据库。

mysql> SELECT DATABASE();
+------------+
| DATABASE() |
+------------+
| menagerie  |
+------------+
1 row in set (0.00 sec)

如果您没有选择数据库,则显示 NULL

mysql> SELECT DATABASE();
+------------+
| DATABASE() |
+------------+
| NULL       |
+------------+
1 row in set (0.00 sec)

SHOW TABLES

查看当前数据库包含了哪些数据表?

mysql> SHOW TABLES;
+---------------------+
| Tables_in_menagerie |
+---------------------+
| event               |
| pet                 |
+---------------------+
2 rows in set (0.00 sec)

注意:列名显示的格式 Tables_in_db_name

DESCRIBE <table name>

列出数据表结构

mysql> DESCRIBE pet;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| name    | varchar(20) | YES  |     | NULL    |       |
| owner   | varchar(20) | YES  |     | NULL    |       |
| species | varchar(20) | YES  |     | NULL    |       |
| sex     | char(1)     | YES  |     | NULL    |       |
| birth   | date        | YES  |     | NULL    |       |
| death   | date        | YES  |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+
6 rows in set (0.00 sec)
  • Field 表示列名;
  • Type 表示列的数据类型;
  • Null 表示列是否包含 NULL 值,可选值 [ YES | NO ];
  • Key 表示该列是否索引,可选值[ | PRI | UNI | MUL ];
  • Default 表示该列指定的默认值;
  • Extra 显示特殊的信息,比方说 auto_increment

关于这部分的详细信息,在后续的章节会为您详细介绍。

DESC 是 DESCRIBE 的简写

mysql> desc pet;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| name    | varchar(20) | YES  |     | NULL    |       |
| owner   | varchar(20) | YES  |     | NULL    |       |
| species | varchar(20) | YES  | MUL | NULL    |       |
| sex     | char(1)     | YES  |     | NULL    |       |
| birth   | date        | YES  |     | NULL    |       |
| death   | date        | YES  |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+
6 rows in set (0.00 sec)

SHOW CREATE TABLE <table name>

显示已存在表的创建表的语句;

mysql> show create table pet;
+-------+--------------------------------------------------------------------+
| Table | Create Table                                                       |
+-------+--------------------------------------------------------------------+
| pet   | CREATE TABLE `pet` (
  `name` varchar(20) DEFAULT NULL,
  `owner` varchar(20) DEFAULT NULL,
  `species` varchar(20) DEFAULT NULL,
  `sex` char(1) DEFAULT NULL,
  `birth` date DEFAULT NULL,
  `death` date DEFAULT NULL,
  KEY `species` (`species`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1                                       |
+-------+--------------------------------------------------------------------+
1 row in set (0.00 sec)

results matching ""

    No results matching ""