查询 MySQL 字段注释的 5 种方法

查询 MySQL 字段注释的 5 种方法!

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

创建测试数据库

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

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

查询所有表注释

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

SELECT table_name 表名, table_comment 表说明
  FROM information_schema.TABLES 
  WHERE table_schema='数据库名'
  ORDER BY table_name
复制代码

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

SELECT table_name 表名, table_comment 表说明
  FROM information_schema.TABLES 
  WHERE table_schema='test2022'
  ORDER BY table_name
复制代码

执行结果如下图所示: 

image.png

查询所有字段注释

字段注释查询方式1

查询语法如下:

show full columns from 表名;
复制代码

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

show full columns from student;
复制代码

执行结果如下图所示: 

image.png

字段注释查询方式2

查询语法如下:

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

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

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

执行结果如下图所示: 

image.png

字段注释查询方式3

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

show create table 表名;
复制代码

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

show create table student;
复制代码

执行结果如下图所示: 

image.png

字段注释查询方式4

如果使用的是 Navicat 工具,可以在表上右键、再点设计,到设计页面就可以查看字段注释了,如下图所示: 

image.png

 但这种操作有点危险,小心手抖把表结构改错了。

字段注释查询方式5

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

image.png

修改表注释和字段注释

修改表注释

修改表注释的语法:

alter table 表名 comment ='修改后的表注释';
复制代码

案例:修改 student 的表注释:

alter table student  comment ='学生表 V2';
复制代码

执行结果如下图所示: 

image.png

修改字段注释

修改表注释的语法:

alter table 表名 modify column 字段名 int comment '注释信息';
复制代码

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

alter table student modify column username int comment '学生姓名 V2';
复制代码

执行结果如下图所示: 

image.png

总结

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

原文地址:https://juejin.cn/post/7051379719668760606 

### 如何查询 MySQL 表的字段名和注释 为了获取特定数据库下某个表中的所有字段名称以及它们对应的注释,可以执行如下 SQL 查询语句: ```sql SELECT COLUMN_NAME AS 字段名, COLUMN_TYPE AS 数据类型, IS_NULLABLE AS 是否为空, COLUMN_DEFAULT AS 默认值, COLUMN_COMMENT AS 注释 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = '指定的数据库名' AND TABLE_NAME = '目标表的名字'; ``` 上述命令会返回给定表内各列的信息,包括但不限于字段名字、数据类型、可否存储 `NULL` 值、默认值还有最重要的——字段级别的注释[^1]。 对于想要了解整个数据库里所有表格及其字段详情的情况,则只需移除针对具体表名(`TABLE_NAME`) 的条件限制即可获得更广泛的结果集。这允许一次性查看多个表内的字段信息连同其描述性注释[^2]。 当涉及到关联操作来同时展示表级与字段级的注释时,可以通过连接两个视图 (`information_schema.TABLES` 和 `information_schema.COLUMNS`) 来实现这一目的。例如下面这段SQL展示了如何通过左外联接的方式把表的相关信息与其字段结合起来显示[^3]: ```sql SELECT t.table_name AS 表名, t.table_comment AS 表说明, c.column_name AS 字段名, c.column_type AS 数据类型, c.is_nullable AS 是否为空, c.column_default AS 默认值, c.column_comment AS 字段注释 FROM information_schema.tables t LEFT JOIN information_schema.columns c ON t.table_name = c.table_name WHERE t.table_schema = '指定的数据库名' ORDER BY t.table_name, c.ordinal_position; ``` 此查询不仅提供了关于单个表内部结构的知识,还能够帮助理解不同表之间的关系模式,从而更好地设计或优化现有的数据库架构。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值