MySQL
很多场景下,需要查看 MySQL 中表注释,或者是某张表下所有字段的注释,所以这里就来盘点和对比一下查询注释的几种方式。

创建测试数据库

开始之前咱们先创建一个数据库,以备下面演示使用。

  1. -- 如果存在就先删除数据库
  2. drop database if exists test2022;
  3. -- 创建数据库
  4. create database test2022;
  5. -- 切换数据库
  6. use test2022;
  7. -- 创建表和字段(以及相应的注释)
  8. CREATE TABLE `student` (
  9. `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '学生编号',
  10. `sn` varchar(50) DEFAULT NULL COMMENT '学号',
  11. `username` varchar(250) NOT NULL COMMENT '学生名称',
  12. `mail` varchar(250) DEFAULT NULL COMMENT '邮箱',
  13. `class_id` int(11) DEFAULT NULL,
  14. PRIMARY KEY (`id`)
  15. ) comment='学生表' ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4

查询所有表注释

使用以下 SQL 可以查询某个数据库下所有表的注释:

  1. SELECT table_name 表名, table_comment 表说明
  2. FROM information_schema.TABLES
  3. WHERE table_schema='数据库名'
  4. ORDER BY table_name

案例:查询 test2022 数据库中的所有表注解:

  1. SELECT table_name 表名, table_comment 表说明
  2. FROM information_schema.TABLES
  3. WHERE table_schema='test2022'
  4. ORDER BY table_name

执行结果如下图所示:查询MySQL字段注释的 5 种方法 - 图1

查询所有字段注释

字段注释查询方式1

查询语法如下:

  1. show full columns from 表名;

案例:查询 student 表中所有字段的注释信息:

  1. show full columns from student;

执行结果如下图所示:查询MySQL字段注释的 5 种方法 - 图2

字段注释查询方式2

查询语法如下:

  1. select COLUMN_NAME 字段名,column_comment 字段说明,column_type 字段类型,
  2. column_key 约束 from information_schema.columns
  3. where table_schema='数据库名' and table_name='表名';

案例:查询 student 表中所有字段的注释信息:

  1. select COLUMN_NAME 字段名,column_comment 字段说明,column_type 字段类型,
  2. column_key 约束 from information_schema.columns
  3. where table_schema='test2022' and table_name='student';

执行结果如下图所示:查询MySQL字段注释的 5 种方法 - 图3

字段注释查询方式3

查询表的 DDL(数据定义语言)也可以看到字段的注释内容,执行的 SQL 语法如下:

  1. show create table 表名;

案例:查询 student 表中所有字段的注释信息:

  1. show create table student;

执行结果如下图所示:查询MySQL字段注释的 5 种方法 - 图4

字段注释查询方式4

如果使用的是 Navicat 工具,可以在表上右键、再点设计,到设计页面就可以查看字段注释了,如下图所示:查询MySQL字段注释的 5 种方法 - 图5但这种操作有点危险,小心手抖把表结构改错了。

字段注释查询方式5

在 Navicat 中查看表的 DDL 语句也可以看到字段注释,选中表再点击右下脚“显示右边窗口”选项,然后再点击 DDL 就可以显示了,具体操作步骤如下图所示:查询MySQL字段注释的 5 种方法 - 图6

修改表注释和字段注释

修改表注释

修改表注释的语法:

  1. alter table 表名 comment ='修改后的表注释';

案例:修改 student 的表注释:

  1. alter table student comment ='学生表 V2';

执行结果如下图所示:查询MySQL字段注释的 5 种方法 - 图7

修改字段注释

修改表注释的语法:

  1. alter table 表名 modify column 字段名 int comment '注释信息';

案例:修改 student 表中 name 的注释:

  1. alter table student modify column username int comment '学生姓名 V2';

执行结果如下图所示:查询MySQL字段注释的 5 种方法 - 图8

总结

本文介绍了查看表注释的 SQL,以及修改表和字段注释的 SQL,同时还介绍了查看字段注释的 5 种方法:3 种命令行操作方式查看,两种基于 Navicat 的操作方式查看,其中推荐使用 SQL:“show full columns from 表名”查看字段注释,这种查询 SQL 简单且也不用担心会误改表结构。