mysql添加表注释、字段注释、查看与修改注释
mysql
一.基础知识
1.创建表的时候写注释
create table test1
(
field_name int comment ‘字段的注释’
)comment=‘表的注释’;
2.修改表的注释
alter table test1 comment ‘修改后的表的注释’;
3.修改字段的注释
alter table test1 modify column field_name int comment ‘修改后的字段注释’;
–注意:字段名和字段类型照写就行
4.查看表注释的方法
–在生成的SQL语句中看
show create table test1;
–在元数据的表里面看
use information_schema;
select * from TABLES where TABLE_SCHEMA=‘my_db’ and TABLE_NAME=‘test1’ \G
5.查看字段注释的方法
–show
show full columns from test1;
–在元数据的表里面看
select * from COLUMNS where TABLE_SCHEMA=‘my_db’ and TABLE_NAME=‘test1’ \G
二.引申知识
1.使用alter table方法
Sql代码 收藏代码
ALTER TABLE table_name MODIFY COLUMN column_name TINYINT(tinyint表示column类型) COMMENT '-1:默认值,1:人员id,2:公司id';
这种方法会重建表,如果数据量大,一个表100w数据,执行1min,如果分表数30个那就总共需要执行30min
2.使用元数据表
Sql代码 收藏代码
USE information_schema;
UPDATE COLUMNS t SET t.column_comment = '-1:默认值,1:人员id,2:公司id' WHERE t.TABLE_SCHEMA='database_name' AND t.table_name='table_name' AND t.COLUMN_NAME='column_name ';
查询语句,更新前可以查询一下
Sql代码 收藏代码
SELECT t.column_comment FROM COLUMNS t WHERE t.TABLE_SCHEMA='database_name' AND t.TABLE_NAME='table_name' AND t.COLUMN_NAME='column_name ';
本想这种修改元数据的方法可以修改表的字段注释,但是没有权限执行,错误如下:
Text代码 收藏代码
错误代码: 1044 Access denied for user ‘usr’@’%’ to database
‘information_schema’
官方解释:
INFORMATION_SCHEMA是信息数据库,其中保存着关于MySQL服务器所维护的所有其他数据库的信息。在INFORMATION_SCHEMA中,有数个只读表。它们实际上是视图,而不是基本表,因此,你将无法看到与之相关的任何文件。
每位MySQL用户均有权访问这些表,但仅限于表中的特定行,在这类行中含有用户具有恰当访问权限的对象。
事实上,尽管不需要生成名为INFORMATION_SCHEMA的文件,我们仍提供了名为INFORMATION_SCHEMA的新数据库。可以使用USE语句将INFORMATION_SCHEMA选择为默认数据库,但访问该数据库中所含表的唯一方式是使用SELECT语句。不能在其中插入内容,不能更新它们,也不能删除其中的内容。
网摘:
Mysql没有Oracle那么方便,修改注释的时候需要指定{type}(这是Mysql设计的不合理性!);系统数据字典表COLUMNS中有保存所有表的字段信息,但是系统字典表是只读的,无法修改注释;
所以,Mysql修改注释必须按照上面的格式对不同类型做判断,并且带有长度的字段必须指明length与decimals,否则更新注释的时候会修改length,decimals为默认值的;
修改Mysql注释是件麻烦的事情,但是也只能这样了。
3.难道就没有别的方法了?
当对于一个大表进行ALTER TABLE的时候,性能问题就产生了。MySQL大部分改动的步骤如下:根据新的表结构创建一个空表,从旧表中把数据取出来插入到新表中,在删除旧表。这是个非常漫长的过程。许多人ALTER TABLE之后,都有等待1小时或者1天的痛苦经历。
你可以这样,新建一个表,改变那个列的comment,然后原始实例关闭,替换.frm文件,再重启。
mysql添加表注释、字段注释、查看与修改注释相关推荐
- MySql 添加表或字段的备注信息
1.创建表时添加表已经字段的备注,如下: create table t_table ( d int primary key comment '主键' ) comment = 'table表'; 2.表 ...
- mysql添加表或字段注释
添加表注释 1.创建表的时候写注释 create table test1 ( field_name int comment '字段的注释' )comment='表的注释'; 2.修改表的注释 alte ...
- MySQL给表和字段添加注释
在MySQL中,给表和字段添加注释使用COMMENT关键字. 1.添加表和字段的注释 创建数据表的同时,给表和字段添加注释. -- 创建用户信息表 CREATE TABLE tb_user (id I ...
- mysql删除表编码字段_mysql 修改 添加 删除 表字段
mysql 修改 添加 删除 表字段 添加表的字段 alter table 表名 add 字段名 字段的类型 例子: alter table table1 add transactor varchar ...
- mysql添加多个字段删除多个字段
这里写自定义目录标题 mysql添加多个字段&删除多个字段 ** mysql添加多个字段&删除多个字段 ** 本文主要向大家介绍了MySQL数据库之mysql给表添加多个字段 ,通过具 ...
- MySQL给表增加字段的时候出现Table is full的报错处理
MySQL给表增加字段的时候出现Table is full的报错处理 文章目录 MySQL给表增加字段的时候出现Table is full的报错处理 一.问题描述 二.错误原因溯源 复现错误 分析 错 ...
- mysql数据库表的创建与查看
mysql数据库表的创建与查看 一.mysql查看 查看所有数据库 show databases 切换数据库 use 数据库名 查看该数据库下所有的表名 show tables 查看表的结构 desc ...
- mysql获取表的字段名称
mysql获取表的字段名称 查询表的字段名. mysql怎么查询表的字段名 添加数据库名 原文: https://m.php.cn/article/490789.html 查询表的字段名. mysql ...
- mysql将一个表的字段更新到另一个表中
mysql将一个表的字段更新到另一个表中 今天遇到了这个问题 百度了一下,给出的解决方案如下 UPDATE T_CONDETAILED SET latesprice=t_temp.amount FRO ...
最新文章
- 最佳置换算法(OPT)
- 200kb以上图片储存
- python文本的平均列数_文本的平均列数(Python程序实现)
- java 返回值void_Java的返回值voidspeak
- springboot 默认异常处理
- Java笔记-IO流的运用
- matplotlib 横坐标少了一个点_收藏起来!比 matplotlib 效率高十倍的数据可视化神器!...
- chatterbot mysql_ChatterBot代码解读-介绍和框架
- 首秀双折叠屏手机却被友商炮轰 小米回应:悍然碰瓷!
- flex 布局下侧轴的方向
- 初学oracle遇到些小麻烦
- Spring Framework 4.0相关计划公布---包括对于Java SE 8 和Groovy2的支持
- CentOS 6.5设置静态IP教程 并且可以ping通
- uva 12230 - Crossing Rivers(概率)
- mysql临键锁_innodb临键锁锁定范围
- 使用Github上传本地项目代码
- 正则表达式过滤联系方式,微信手机号QQ等
- 失业日记 9月30日
- 标准盒子模型和IE盒子模型
- 电脑快捷键全都在这了!电脑技巧收藏!
热门文章
- PCL——PCD文件格式分析
- VisualBox 安装 CentOS 7.6 操作记录
- selenium学习一
- 紫书 例题 10-14 UVa 12034(组合数+递推)
- 七牛底层架构再完善 让服务从单一走向多元
- 修改android的wifi客户端名称的两种方法
- 【编译原理笔记20】代码生成:代码生成器的主要任务,一个简单的目标机模型,指令选择,寄存器的选择,寄存器选择函数getReg的设计,窥孔优化
- mysql存储过程详解 mysql存储过程和函数
- antimalware可以关闭吗_微信小程序可以关闭吗?如何关闭?
- JAVA获取同一路径下所有子类或接口实现类