show full columns from table_name 能稳定显示字段注释,而 describe 不显示 comment;information_schema.columns 适合批量查询和脚本导出;show create table 虽完整但难快速定位注释。

直接用 SHOW FULL COLUMNS FROM table_name 就能一次性看到字段名、类型、是否为空、默认值、键信息,以及最关键的 Comment 列——字段注释就在这里。
为什么不用 DESCRIBE 查注释?
DESCRIBE(或简写 DESC)确实快,但它的输出里没有 Comment 字段。即使你给字段加了 COMMENT,它也大概率不显示——这不是 bug,是设计如此。MySQL 8.0+ 在某些客户端里可能带出注释,但不可靠,别依赖。
-
DESCRIBE employees→ 看不到name字段的注释 “员工姓名” -
SHOW FULL COLUMNS FROM employees→Comment列明确写出 “员工姓名” - 想确认是否生效?建表后立刻执行
SHOW FULL COLUMNS,比翻 DDL 更直觉
information_schema.COLUMNS 适合批量查和写脚本
当你需要查多个表、或者把字段注释导出成文档、或者集成进自动化工具时,INFORMATION_SCHEMA.COLUMNS 是唯一靠谱的选择。它结构稳定,字段可筛选,支持 WHERE 条件。
- 只查注释:
SELECT column_name, column_comment FROM information_schema.COLUMNS WHERE table_schema = 'your_db' AND table_name = 'users' - 注意
table_schema必须填实际数据库名,不是当前USE的库名;漏写会导致查空 -
column_comment是 TEXT 类型,可能含换行或特殊字符,导出时留意截断或转义 - 权限不足时会返回空结果,不是没数据,而是没权限读
information_schema
SHOW CREATE TABLE 看得全,但难读
这条命令输出的是完整建表语句,字段注释、表注释、索引、外键、引擎、字符集全在里面,是最权威的“源码级”参考。但它不适合快速扫一眼——尤其字段多时,COMMENT 散落在各行里,肉眼定位费劲。
- 加
\G结尾能竖排显示:SHOW CREATE TABLE users\G,比横表友好得多 - 表注释在
CREATE TABLE ... COMMENT='xxx'行;字段注释紧贴字段定义后面,如`status` TINYINT COMMENT '0-禁用,1-启用' - 复制粘贴建表语句时,别漏掉末尾的分号和
ENGINE=...部分,否则在其他环境执行会失败
真正容易被忽略的点是:字段注释只在 SHOW FULL COLUMNS 和 information_schema.COLUMNS 里稳定可见;DESCRIBE 不保证显示,SHOW COLUMNS(不带 FULL)压根不包含 Comment 列。别让习惯害你漏掉关键信息。











