查询 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
执行结果如下图所示:

查询所有字段注释
字段注释查询方式1
查询语法如下:
show full columns from 表名;
案例:查询 student 表中所有字段的注释信息:
show full columns from student;
执行结果如下图所示:

字段注释查询方式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';
执行结果如下图所示:

字段注释查询方式3
查询表的 DDL(数据定义语言)也可以看到字段的注释内容,执行的 SQL 语法如下:
show create table 表名;
案例:查询 student 表中所有字段的注释信息:
show create table student;
执行结果如下图所示:

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

但这种操作有点危险,小心手抖把表结构改错了。
字段注释查询方式5
在 Navicat 中查看表的 DDL 语句也可以看到字段注释,选中表再点击右下脚“显示右边窗口”选项,然后再点击 DDL 就可以显示了,具体操作步骤如下图所示:

修改表注释和字段注释
修改表注释
修改表注释的语法:
alter table 表名 comment ='修改后的表注释';
案例:修改 student 的表注释:
alter table student comment ='学生表 V2';
执行结果如下图所示:

修改字段注释
修改表注释的语法:
alter table 表名 modify column 字段名 int comment '注释信息';
案例:修改 student 表中 name 的注释:
alter table student modify column username int comment '学生姓名 V2';
执行结果如下图所示:

总结
本文介绍了查看表注释的 SQL,以及修改表和字段注释的 SQL,同时还介绍了查看字段注释的 5 种方法:3 种命令行操作方式查看,两种基于 Navicat 的操作方式查看,其中推荐使用 SQL:“show full columns from 表名”查看字段注释,这种查询 SQL 简单且也不用担心会误改表结构。
是非审之于己,毁誉听之于人,得失安之于数。
公众号:Java面试真题解析
查询 MySQL 字段注释的 5 种方法!的更多相关文章
- mysql写注释的几种方法
MySQL的注释风格总的来说有三种.它们分别是 1.单行注释可以用"#" select 1 as cname; #this is a comment +-------+ | cna ...
- [转]mysql写注释的几种方法
原文地址:https://www.cnblogs.com/JiangLe/p/6897403.html MySQL的注释风格总的来说有三种.它们分别是 1.单行注释可以用"#" s ...
- MySQL提供了以下三种方法用于获取数据库对象的元数据
MySQL提供了以下三种方法用于获取数据库对象的元数据: 1)show语句 2)从INFORMATION_SCHEMA数据库里查询相关表 3)命令行程序,如mysqlshow, mysqldump 用 ...
- JSON文件加注释的7种方法
JSON文件加注释的7种方法 缺省不能加注释,现实有需求 根据JSON规范(http://www.json.org, RFC 4627, RFC 7159),不支持注释.JSON规范之所以不允许加注释 ...
- 几种破解MySQL root密码的几种方法:
几种破解MySQL root密码的几种方法: 方法一 使用phpmyadmin,这是最简单的了,修改mysql库的user表,不过别忘了使用PASSWord函数. 方法二 使用mysqladmin,这 ...
- MySQL修改密码的三种方法
MySQL修改密码的三种方法 1.方法1: 2.方法2: 3.方法3:
- 转 mysql 远程连接数据库的二种方法
mysql 远程连接数据库的二种方法 一.连接远程数据库: 1.显示密码 如:MySQL 连接远程数据库(192.168.5.116),端口“3306”,用户名为“root”,密码“123456” ...
- MSSQL·查询T-SQL语句执行时间的三种方法
阅文时长 | 0.23分钟 字数统计 | 420.8字符 主要内容 | 1.引言&背景 2.自定义时间变量求差法 3.MSSQL内置方法 4.MSSQL选项开启时间统计 5.声明与参考资料 『 ...
- Docker MySql 查看版本的三种方法
目录 Docker MySql 查看版本的三种方法 1.mysql -V命令查看版本 2.status命令查看版本 3.version命令查看版本 Docker MySql 查看版本的三种方法 1.m ...
随机推荐
- Google earth engine 绘制图像间散点图
这段代码实现了在Google earth engine中绘制图像/波段间的散点图,得到相关关系.适用于探究数据间的相关性,进行数据的交叉验证. 代码来源于官方帮助:https://developers ...
- java 网络编程基础 InetAddress类;URLDecoder和URLEncoder;URL和URLConnection;多线程下载文件示例
什么是IPV4,什么是IPV6: IPv4使用32个二进制位在网络上创建单个唯一地址.IPv4地址由四个数字表示,用点分隔.每个数字都是十进制(以10为基底)表示的八位二进制(以2为基底)数字,例如: ...
- python requests库的简单运用
python requests的简单运用 使用pycharm获取requests包 ctrl+alt+s Project:pythonProject pythoninterpreter 点+号搜索 使 ...
- JS根据日期获取判断星期几
/** * 根据日期字符串获取星期几 * @param dateString 日期字符串(如:2020-05-02) * @returns {String} */ function getWeek(d ...
- Android 控件使用教程(二)—— RecyclerView 展示图片
简介 在上一篇博文中,介绍了大家已经很熟悉的布局控件ListView,在这篇文章中,我将使用比较新.功能也更强大的RecyclerView. RecyclerView 首先,要用这个控件,你需要在gr ...
- 【LeetCode】1119. Remove Vowels from a String 解题报告(C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 判断字符是否是aeiou 日期 题目地址:https: ...
- 【LeetCode】900. RLE Iterator 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址:https://leetcode.com/problems/rle-itera ...
- 【LeetCode】462. Minimum Moves to Equal Array Elements II 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 方法一:排序 方法二:直接找中位数 日期 题目地址: ...
- Java基础(八)——IO流2_缓冲流、转换流
一.缓冲流 1.介绍 缓冲流:不能直接作用在文件上,需要包一层,它是一种处理流.用于提高文件的读写效率.它在流的基础上对流的功能进行了增强.提高读写速度的原因:内部提供了一个缓冲区.缺省使用 8192 ...
- 关于使用JupyterNotebook运行代码运行到一半会闪退的问题
前几个星期使用Jupyter远程使用师兄的电脑跑了一段沐老师的代码学习,但是总是跑了一段就闪退,同时因为是远程桌面,远程桌面也被挤掉了. 具体表现就是:运行代码--表现正常,打印记录--远程桌面掉线- ...