很多场景下,我们需要查看 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 种方法!的更多相关文章

  1. mysql写注释的几种方法

    MySQL的注释风格总的来说有三种.它们分别是 1.单行注释可以用"#" select 1 as cname; #this is a comment +-------+ | cna ...

  2. [转]mysql写注释的几种方法

    原文地址:https://www.cnblogs.com/JiangLe/p/6897403.html MySQL的注释风格总的来说有三种.它们分别是 1.单行注释可以用"#" s ...

  3. MySQL提供了以下三种方法用于获取数据库对象的元数据

    MySQL提供了以下三种方法用于获取数据库对象的元数据: 1)show语句 2)从INFORMATION_SCHEMA数据库里查询相关表 3)命令行程序,如mysqlshow, mysqldump 用 ...

  4. JSON文件加注释的7种方法

    JSON文件加注释的7种方法 缺省不能加注释,现实有需求 根据JSON规范(http://www.json.org, RFC 4627, RFC 7159),不支持注释.JSON规范之所以不允许加注释 ...

  5. 几种破解MySQL root密码的几种方法:

    几种破解MySQL root密码的几种方法: 方法一 使用phpmyadmin,这是最简单的了,修改mysql库的user表,不过别忘了使用PASSWord函数. 方法二 使用mysqladmin,这 ...

  6. MySQL修改密码的三种方法

      MySQL修改密码的三种方法 1.方法1: 2.方法2: 3.方法3:        

  7. 转 mysql 远程连接数据库的二种方法

    mysql 远程连接数据库的二种方法   一.连接远程数据库: 1.显示密码 如:MySQL 连接远程数据库(192.168.5.116),端口“3306”,用户名为“root”,密码“123456” ...

  8. MSSQL·查询T-SQL语句执行时间的三种方法

    阅文时长 | 0.23分钟 字数统计 | 420.8字符 主要内容 | 1.引言&背景 2.自定义时间变量求差法 3.MSSQL内置方法 4.MSSQL选项开启时间统计 5.声明与参考资料 『 ...

  9. Docker MySql 查看版本的三种方法

    目录 Docker MySql 查看版本的三种方法 1.mysql -V命令查看版本 2.status命令查看版本 3.version命令查看版本 Docker MySql 查看版本的三种方法 1.m ...

随机推荐

  1. pipeline input步骤

    目录 一.简介 二.input步骤复杂用法 三.获取上游pipeline信息 四.超时中止 一.简介 执行imput步骤会暂停pipeline,直到用户输入参数.这是一种特殊的参数化pipeline的 ...

  2. iOS 实现简单的界面切换

    以下是在iOS中最简单的界面切换示例.使用了多个Controller,并演示Controller之间在切换界面时的代码处理. 实现的应用界面: 首先,创建一个window-based applicat ...

  3. Android工具 - 随机测试(猴子)

    原创文章,如有转载,请注明出处:http://blog.csdn.net/yihui823/article/details/6697535 本文章的前提:已经安装了Eclipse和ADT.androi ...

  4. <转>C/S架构分析

    系统架构师-基础到企业应用架构-客户端/服务器 开篇 上篇,我们介绍了,单机软件的架构,其实不管什么软件系统,都是为了解决实际中的一些问题,软件上为了更好的解决实际的问题才会产生,那么对于单机软 件的 ...

  5. Dubbo配置注册中心设置application的name使用驼峰命名法存在的隐藏项目启动异常问题

    原创/朱季谦 首先,先提一个建议,在SpringBoot+Dubbo项目中,Dubbo配置注册中心设置的application命名name的值,最好使用xxx-xxx-xxx这样格式的,避免随便使用驼 ...

  6. CF1036A Function Height 题解

    Content 给定一个坐标系,在它的 \(x\) 轴上有 \(2n+1\) 个点 \(P_0,P_1,P_2,...,P_{2n}\),其中对于 \(0\leqslant i\leqslant 2n ...

  7. mysql数据库,当数据类型是float时,查询居然查询不出数据来

    mysql数据库,当数据类型是float时,查询居然查询不出数据来,类似如下: 以后mysql数据库不用float类型,而double类型可以查得出来.

  8. Vue2使用Axios发起请求教程详细

    当你看到该文章时希望你已知晓什么是跨域请求以及跨域请求的处理,本文不会赘述 本文后台基于Springboot2.3进行搭建,Controller中不会写任何业务逻辑仅用于配合前端调试 Controll ...

  9. VMware 打开虚拟机出现另一个程序已锁定文件的一部分,进程无法访问

    打开虚拟机出现 另一个程序已锁定文件的一部分,进程无法访问 打不开磁盘"D:\Virtual Machines\CentOS 7 64 位\CentOS 7 64 位.vmdk"或 ...

  10. 【LeetCode】1438. 绝对差不超过限制的最长连续子数组 Longest Continuous Subarray With Absolute Diff Less Than or Equal t

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 滑动窗口 日期 题目地址:https://leetco ...