首页 > 编程笔记

MySQL查看表结构(2种方式)

使用 SQL 语句创建好数据表之后,可以查看表结构的定义,以确认表的定义是否正确。在 MySQL 中,查看表结构可以使用 DESCRIBE 和 SHOW CREATE TABLE 语句。本文将针对这两个语句分别进行详细讲解。

1. 查看表基本结构语句 DESCRIBE

DESCRIBE 语句可以查看表的字段信息,其中包括字段名、字段数据类型、是否为主键、是否有默认值等。

语法规则如下:

DESCRIBE 表名;

或者简写为:

DESC 表名;


示例1:分别使用 DESCRIBE 和 DESC 查看表 tb_dept1 和表 tb_emp1 的表结构。

查看 tb_dept1 表结构,SQL 语句如下:
mysql> DESCRIBE tb_dept1;
+-----------+---------------+------+-----+---------+-------+
| Field     | Type          | Null | Key | Default | Extra |
+-----------+---------------+------+-----+---------+-------+
| id        | int           | NO   | PRI | NULL    |       |
| name      | varchar(22)   | NO   |     | NULL    |       |
| location  | varchar(50)   | YES  |     | NULL    |       |
+-----------+---------------+------+-----+---------+-------+
查看 tb_emp1 表结构,SQL 语句如下:
mysql> DESC tb_emp1;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id     | int         | YES  |     | NULL    |       |
| name   | varchar(25) | YES  |     | NULL    |       |
| deptId | int         | YES  |     | NULL    |       |
| salary | float       | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
其中,各个字段的含义分别解释如下:

查看表详细结构语句SHOW CREATE TABLE

SHOW CREATE TABLE 语句可以用来显示创建表时的 CREATE TABLE 语句,语法格式如下:

SHOW CREATE TABLE <表名\G>;

提示:使用 SHOW CREATE TABLE 语句,不仅可以查看表创建时候的详细语句,还可以查看存储引擎和字符编码。

如果不加\G参数,显示的结果可能非常混乱,加上参数\G之后,可使显示结果更加直观,易于查看。

示例2:使用 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

推荐阅读