在MySQL中创建好数据表之后,可以查看数据表的结构。MySQL支持使用DESCRIBE/DESC语句查看数据表结构,也支持使用SHOW CREATE TABLE语句查看数据表结构。
8.2.1 使用DESCRIBE/DESC语句查看表结构
MySQL中可以使用DESCRIBE/DESC语句查看数据表的结构信息,结构信息中包括字段名称、数据类型及是否是主键等信息。
1.语法格式
使用DESCRIBE语句查看表结构的语法格式如下:
DESCRIBE 表名称
使用DESC语句查看表结构的语法格式如下:
DESC 表名称
2.简单示例
查看商品类别表t_goods_category的表结构信息。
mysql> DESCRIBE t_goods_category;
+------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| t_category | varchar(30) | YES | | NULL | |
| t_remark | varchar(100) | YES | | NULL | |
+------------+--------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
查看商品信息表t_goods的表结构信息。
mysql> DESC t_goods;
+---------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------------+---------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| t_category_id | int(11) | YES | MUL | NULL | |
| t_category | varchar(30) | YES | | NULL | |
| t_name | varchar(50) | YES | | NULL | |
| t_price | decimal(10,2) | YES | | NULL | |
| t_stock | int(11) | YES | | NULL | |
| t_upper_time | datetime | YES | | NULL | |
+---------------+---------------+------+-----+---------+-------+
7 rows in set (0.00 sec)
其中,每个字段的含义如下:
·Field:数据表中的每个字段。
·Type:数据表中字段的数据类型。
·Null:数据表中的当前字段值是否可以为NULL。
·Key:数据表中的当前字段是否存在索引。PRI表示当前列是主键列,或者是主键的一部分;UNI表示当前列是UNIQUE标识的唯一索引列,或者是唯一索引列的一部分;MUL表示在当前列中的某个值可以出现多次。
·Default:表示当前列是否有默认值,同时会显示当前列的默认值是多少。
·Extra:表示与当前列相关的附件信息。
8.2.2 使用SHOW CREATE TABLE语句查看表结构
MySQL支持使用SHOW CREATE TABLE语句查看数据表的建表语句。通过SHOW CREATE TABLE语句,不仅可以查看创建数据表的SQL语句,还可以查看数据表的存储引擎和字符编码等信息。
1.语法格式
使用SHOW CREATE TABLE语句查看表结构的语法格式如下:
SHOW CREATE TABLE 表名 \G
其中,\G可以使输出结果信息更加美观,便于查看和阅读。
2.简单示例
使用SHOW CREATE TABLE语句查看商品类别数据表t_goods_category的结构信息。
mysql> SHOW CREATE TABLE t_goods_category \G
*************************** 1. row ***************************
Table: t_goods_category
Create Table: CREATE TABLE `t_goods_category` (
`id` int(11) NOT NULL,
`t_category` varchar(30) DEFAULT NULL,
`t_remark` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
1 row in set (0.00 sec)
查看商品信息表t_goods的结构信息。
mysql> SHOW CREATE TABLE t_goods \G
*************************** 1. row ***************************
Table: t_goods
Create Table: CREATE TABLE `t_goods` (
`id` int(11) NOT NULL,
`t_category_id` int(11) DEFAULT NULL,
`t_category` varchar(30) DEFAULT NULL,
`t_name` varchar(50) DEFAULT NULL,
`t_price` decimal(10,2) DEFAULT NULL,
`t_stock` int(11) DEFAULT NULL,
`t_upper_time` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `foreign_category` (`t_category_id`),
CONSTRAINT `foreign_category` FOREIGN KEY (`t_category_id`) REFERENCES `t_goods_category` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
1 row in set (0.00 sec)
使用SHOW CREATE TABLE语句查看数据表t_goods_category和数据表t_goods时,不仅能够查看数据表的详细建表语句,还能查看数据表的存储引擎和字符编码等信息。