使用SQL语句创建好数据表之后,可以查看数据表的名称及表结构的定义,以确定表的定义是否正确。
1. 查看表的名称
在MySQL中,可以使用SHOW TABLES语句来查看指定数据库中所有数据表的名称,其语法格式是: SHOW TABLES [{FROM | IN} db_name];
使用选项{FROM | IN} db_name 可以显示非当前数据库中的数据库表名称。
例 3.6 查看数据库db_school 中所有的表名。
查看当前数据库中的数据库表名称的SQL语句如下:
mysql> use db_school;
Database changed
mysql> show tables;
+---------------------+
| Tables_in_db_school |
+---------------------+
| tb_student |
| tb_student1 |
| tb_student2 |
+---------------------+
3 rows in set (0.00 sec)
查看非当前数据库中的数据库表名称的SQL语句如下:
mysql> show tables from db_school;
或
mysql> show tables in db_school;
其执行结果为:
+---------------------+
| Tables_in_db_school |
+---------------------+
| tb_student |
| tb_student1 |
| tb_student2 |
+---------------------+
3 rows in set (0.00 sec)
2. 查看数据表的基本结构
在MySQL中,可以使用DESCRIBE/DESC语句或SHOW COLUMNS语句来查看指定数据表的结构,包括字段名、字段的数据类型、字段值是否允许为空、是否为主键、是否有默认值等。
SHOW COLUMN语句的语法格式是:
SHOW COLUMNS {FROM | IN} tb_name [ { FROM | IN } db_name ];
DESCRIBE/DESC语句的语法格式是:
{ DESCRIBE | DESC } tb_name;
说明:MySQL支持用DESCRIBE作为SHOW COLUMNS FROM 的一种快捷方式。
例3.7 查看数据库db_school 中表tb_student2 的结构。
在MySQL的命令行客户端输入如下SQL语句:
mysql> show columns from tb_student2;
或
DESC tb_student2;
其执行结果为:
+-------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| studentNo | int(10) | NO | PRI | NULL | |
| studentName | varchar(20) | NO | | NULL | |
| sex | char(2) | YES | | NULL | |
| birthday | date | YES | | NULL | |
| native | varchar(20) | YES | | NULL | |
| nation | varchar(10) | YES | | 汉 | |
| classNo | char(6) | YES | | NULL | |
+-------------+-------------+------+-----+---------+-------+
7 rows in set (0.00 sec)
3. 查看数据表的详细结构
在MySQL中,使用SHOW CREATE TABLE 语句可以查看创建表时的CREATE TABLE 语句,其语法格式是:
SHOW CREATE tb_name;
例3.8 查看数据库db_school中表tb_school1的详细信息。
在MySQL的命令行客户端输入如下SQL语句:
mysql> show create table tb_student1\G;
使用SHOW CREATE TABLE 语句不仅可以查看创建表时的详细语句,而且还可以查看存储引擎和字符编码。