在mysql数据库的日常使用中,查看表的注释是了解表设计意图、梳理业务逻辑的重要操作,mysql提供了多种可靠的方式可以获取表的注释信息,下面逐一介绍具体的实现方法。

方法一:查询information_schema系统库
mysql的information_schema库存储了所有数据库的元数据信息,其中TABLES表包含了所有表的详细信息,包括表注释。我们可以通过查询这个表来获取指定表的注释。
查询单个数据库下所有表的注释的语法如下:
-- 查询test_db数据库下所有表的名称和注释
SELECT
TABLE_NAME AS 表名,
TABLE_COMMENT AS 表注释
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'test_db';
如果只需要查询某一个具体表的注释,可以在上述条件基础上增加TABLE_NAME的筛选:
-- 查询test_db数据库中user表的注释
SELECT
TABLE_NAME AS 表名,
TABLE_COMMENT AS 表注释
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'test_db'
AND TABLE_NAME = 'user';
方法二:使用SHOW CREATE TABLE命令
SHOW CREATE TABLE命令可以返回创建指定表的完整SQL语句,其中包含表的注释信息,适合需要查看表完整创建逻辑的场景。
使用方式非常简单,直接执行以下命令即可:
-- 查看user表的创建语句,包含表注释 SHOW CREATE TABLE test_db.user;
执行后返回的结果中,Create Table字段的内容里会包含COMMENT='表注释内容'的部分,直接提取即可看到表的注释。
方法三:使用SHOW TABLE STATUS命令
SHOW TABLE STATUS命令可以返回指定数据库中所有表的状态信息,其中Comment字段就是表的注释内容。
查看单个数据库下所有表的注释的语法如下:
-- 查看test_db数据库下所有表的状态,包含表注释 SHOW TABLE STATUS FROM test_db;
如果只需要查看某一个表的注释,可以加上LIKE条件:
-- 查看test_db数据库中user表的注释 SHOW TABLE STATUS FROM test_db LIKE 'user';
三种方法的对比
不同方法的适用场景有所区别,具体差异如下:
| 方法 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 查询information_schema.TABLES | 可以灵活筛选、批量查询,结果可直接用于后续处理 | 需要记住系统表结构 | 需要批量获取表注释、或者结合其他条件筛选的场景 |
| SHOW CREATE TABLE | 返回完整的表创建语句,还能看到字段定义等信息 | 返回内容较多,需要手动提取注释部分 | 需要查看表完整创建逻辑,同时获取表注释的场景 |
| SHOW TABLE STATUS | 语法简单,返回信息包含表的多项状态属性 | 结果列较多,需要定位Comment字段 | 快速查看单个或少量表的注释及表状态的场景 |
注意事项
- 执行查询
information_schema的语句时,需要确保当前用户有访问information_schema库的权限。 - 如果表没有设置注释,上述方法返回的注释字段会为空值。
- 使用
SHOW类命令时,如果当前已经选中了对应的数据库,可以省略数据库名前缀,比如直接执行SHOW CREATE TABLE user;。
mysql查看表注释information_schemaSHOW_CREATE_TABLE表元数据修改时间:2026-07-21 20:51:29