使用SQL语句创建好数据表之后,就可以查看表结构的定义,以确认表的定义是否正确。在MySQL中,查看表结构可以使用DESCRIBE和SHOW CREATE TABLE语句。本节将针对这两个语句分别进行详细讲解。
DESCRIBE/DESC语句可以查看表的字段信息,其中包括字段名、字段数据类型、是否为主键、是否有默认值等。语法格式如下:
DESCRIBE 表名;
或者简写为:
DESC 表名;
【 例2.14 】分别使用DESCRIBE和DESC查看表tb_dept1和表tb_emp1的结构。
(1)查看tb_dept1表结构,SQL语句如下:
(2)查看tb_emp1表结构,SQL语句如下:
其中,各个字段的含义分别解释如下:
· NULL:表示该列是否可以存储空值。
· Key:表示该列是否已编制索引。PRI表示该列是表主键的一部分;UNI表示该列是UNIQUE索引的一部分;MUL表示在列中允许某个给定值出现多次。
· Default:表示该列是否有默认值,有的话指定值是多少。
· Extra:表示可以获取的与给定列有关的附加信息,例如AUTO_INCREMENT等。
SHOW CREATE TABLE语句可以用来显示创建表时所使用的CREATE TABLE语句,语法格式如下:
SHOW CREATE TABLE <表名\G>;
提示 使用SHOW CREATE TABLE语句,不仅可以查看创建表时的详细语句,还可以查看存储引擎和字符编码。
如果不加“\G”参数,显示的结果可能非常混乱,加上“\G”参数,可使显示结果更加直观,易于查看。
【 例2.15 】使用SHOW CREATE TABLE查看表tb_emp1的详细信息,SQL语句如下:
mysql> SHOW CREATE TABLE tb_emp1; +--------+---------------------------------------------------------+ | Table | Create Table | +--------+---------------------------------------------------------+ | tb_emp1 | CREATE TABLE `tb_emp1` ( `id` int DEFAULT NULL, `name` varchar(25) DEFAULT NULL, `deptId` int DEFAULT NULL, `salary` float DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci | +--------+---------------------------------------------------------+
使用参数“\G”之后的结果如下:
mysql> SHOW CREATE TABLE tb_emp1\G *************************** 1. row *************************** Table: tb_emp1 Create Table: CREATE TABLE `tb_emp1` ( `id` int DEFAULT NULL, `name` varchar(25) DEFAULT NULL, `deptId` int DEFAULT NULL, `salary` float DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci