describe(或desc)可快速查看表字段名、类型、null约束、主键/索引、默认值和自增标记;但不显示字段注释、外键、索引详情及表级元信息,需配合show create table等命令获取完整定义。

用 DESCRIBE(或简写 DESC)是最直接的方式,几秒内就能看到字段名、类型、是否允许 NULL、主键/索引标识、默认值和自增标记等核心信息。
基础用法:快速上手
语法极简,不需要库名前缀(前提是当前已 USE 某个数据库):
DESCRIBE users;- 或更短:
DESC users;
执行后返回一个表格,列包括:Field(字段名)、Type(数据类型,如 varchar(255)、int、datetime)、Null(YES/NO,表示是否允许 NULL 值)、Key(如 PRI 表示主键,MUL 表示普通索引)、Default(默认值)、Extra(如 auto_increment)。
注意 Type 列的细节
Type 显示的是“带长度/精度的简化形式”,但不等于完整定义:
-
varchar(255)—— 长度明确,可直接用 -
decimal(10,2)—— 表示总位数 10、小数位 2 -
tinyint(1)—— 仅表示显示宽度为 1,不代表布尔逻辑;它仍是整数类型,是否当布尔用得看业务约定 - 不显示字符集(如 utf8mb4)、排序规则(collation),也不体现是否为生成列或虚拟列
它的局限:哪些信息查不到
DESCRIBE 是快捷入口,不是全量视图。以下内容它完全不返回:
- 字段注释(
COLUMN_COMMENT),比如 “创建时间”、“用户状态” - 外键约束定义(如 REFERENCES users(id))
- 索引详情(复合索引字段顺序、唯一性、前缀长度)
- 表级信息:存储引擎、字符集、行格式、AUTO_INCREMENT 当前值
如果需要这些,应配合 SHOW CREATE TABLE users; 或查 INFORMATION_SCHEMA.COLUMNS。
替代命令:按需切换
同一目的,不同颗粒度:
-
SHOW COLUMNS FROM users;—— 和 DESCRIBE 输出一致,但支持LIKE 'name%'过滤字段 -
SHOW FULL COLUMNS FROM users;—— 多出 Comment 列,能看见字段注释(前提是建表时加了 COMMENT) -
SHOW CREATE TABLE users\G;—— 返回完整建表语句,含引擎、索引、约束、注释、字符集等全部定义,适合导出或迁移参考










