Bootstrap

查看数据表结构

在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时,不仅能够查看数据表的详细建表语句,还能查看数据表的存储引擎和字符编码等信息。

;