MySQL追加注释或者大量修改注释
分类: MySQL
之前一个项目比较仓促,开发给的建表语句没有注释.
现在要补全注释信息.
但是MySQL后期追加注释比较麻烦
需要使用modify语法。
只要不小心写错一点,就可能导致表结构的变更,而不是注释的变更.
实验表如下:
- create table t(
- c1 int primary key auto_increment,
- c2 char(20) not null default 'c2' comment 'c2的注释',
- c3 date default '2016-01-25' comment 'date类型测试',
- c4 varchar(20) not null default '' ,
- c5 bigint ,
- c6 text comment 'text测试',
- c7 timestamp not null default current_timestamp on update current_timestamp,
- c8 datetime not null default now()
- );
通过如下的SQL,解析元数据信息,可以直接显示modify的内容.
追加或者修改注释之后,执行语句即可.
这样可以避免人为的失误.
- SELECT
- concat(
- 'alter table ',
- table_schema, '.', table_name,
- ' modify column ', column_name, ' ', column_type, ' ',
- if(is_nullable = 'YES', ' ', 'not null '),
- if(column_default IS NULL, '',
- if(
- data_type IN ('char', 'varchar')
- OR
- data_type IN ('date', 'datetime', 'timestamp') AND column_default != 'CURRENT_TIMESTAMP',
- concat(' default ''', column_default,''''),
- concat(' default ', column_default)
- )
- ),
- if(extra is null or extra='','',concat(' ',extra)),
- ' comment ''', column_comment, ''';'
- ) s
- FROM information_schema.columns
- WHERE table_schema = 'test'
- AND table_name = 't'
以实验表为例,生成的modify语句如下.
- alter table test.t modify column c1 int(11) not null auto_increment comment '';
- alter table test.t modify column c2 char(20) not null default 'c2' comment 'c2的注释';
- alter table test.t modify column c3 date default '2016-01-25' comment 'date类型测试';
- alter table test.t modify column c4 varchar(20) not null default '' comment '';
- alter table test.t modify column c5 bigint(20) comment '';
- alter table test.t modify column c6 text comment 'text测试';
- alter table test.t modify column c7 timestamp not null default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP comment '';
- alter table test.t modify column c8 datetime not null default CURRENT_TIMESTAMP comment '';
MySQL追加注释或者大量修改注释的更多相关文章
- svn 强制用户添加注释 和 允许用户修改注释
当我们用TortoiseSVN提交代码时,有很多人不喜欢写注释,导致以后代码版本多,也不清楚哪个版本到底改了什么东西.所以在提交的时候,我会强制要求添加注释.这是如何实现的?这个话题就涉及到了svn的 ...
- mysql查看和修改注释
MySQL查看注释,MySQL修改注释,mysql查看注释,mysql修改注释 1.给大家做演示,这里随便创建一张学生表,代码如下: CREATE TABLE `student` ( `id` int ...
- mysql中注释的添加修改
1 创建表的时候写注释,在使用comment关键字语法:create table 表名 (字段名 类型 comment '字段的注释' )comment='表的注释'; 查看一下 2 修改表的注释al ...
- mysql添加表注释、字段注释、查看与修改注释
1 创建表的时候写注释create table test1( field_name int comment '字段的注释')comment='表的注释'; 2 修改表的注释alter table te ...
- git 修改注释信息
1. push 之前 先看看自己提交过多少次,然后执行 git rebase -i HEAD~数字(你要修改你的第几次提交) 接下来执行,修改注释 git commit --amend 修改完注释之后 ...
- Eclipse设置问题:字体大小、修改注释内容、修改快捷键
一.设置字体大小,看下图,包括了设计代码字体大小和控制台输出字体大小 二.修改注释内容 选择window---->>preferences 选择Java---->>code s ...
- MySql给表添加列和注释
1.给表添加列 ALTER TABLE supplier_seller ADD COLUMN company_id INT NULL COMMENT '供应主体id'; 默认情况下,添加的列会添加到最 ...
- pycharm修改注释颜色
原来的注释是红色的,看着跟报错似的.. 还有flask中html文件的注释,我修改了Django的注释颜色,flask也就改了 也可以直接点击下面的代码,哪里难看点哪里
- git强制修改注释
在一些公司项目中,常常要求git注释提交的时候加上前缀,比如JIRA号,但是有的时候我们常常会忘了 如果用source tree等一些工具,会推送到本地仓库一半,但远程又上不去. 这个时候我们就需要强 ...
随机推荐
- Contiki学习入门之概览
Contiki是专为物联网领域而设计的开源操作系统,适用于联网嵌入式系统和无线传感器网络.由瑞典计算机科学学院的Adam Dunkels团队开发.它有以下几个特点. 1. 网络标准 contiki提供 ...
- DQL_数据查询语言
2014年11月21日 21:43:53 DQL 基础查询-- 注意要点:1.用户友善的标题 ...
- Nodejs 处理gb2312内容乱码问题
在使用cheerio处理request模块返回的gb2312网页出现了乱码,从开始一直排查问题,一直排查到request.cheerio都有问题. 首先request会进行一次转码,这里需要设置req ...
- CSS3单位
em 做前端的应该对em不陌生,不是什么罕见的单位,是相对单位,参考物是父元素的font-size,具有继承的特点.如果字体大小是16px(浏览器的默认值),那么 1em = 16px. 不过,这样使 ...
- GDI+ 绘图闪烁解决方法
闲着没事,准备做一个类似于TeeChart的自定义控件,结果第一步的绘图就把我给难倒了,虽然早就知道GDI绘图的闪烁问题很坑,但是却没有想到如此之坑,折腾了两天,才找到解决方法. 首先在窗体加载的时候 ...
- 粗谈Android中的对齐
在谈这个之前先啰嗦几个概念. 基线:书写英语单词时为了规范书写会设有四条线,从上至下第三条就是基线.基线对齐主要是为了两个控件中显示的英文单词的基线对齐,如下所示: Start:在看API的时候经常会 ...
- PHP5 GD库生成图形验证码(汉字)
PHP5 GD库生成图形验证码且带有汉字的实例分享. 1,利用GD库函数生成图片,并在图片上写指定字符imagecreatetruecolor 新建一个真彩色图像imagecolorallocate ...
- 虚拟机安装Centos6.5之后的网络配置
我使用的是minimal模式安装的,默认是无法联网的,需要自己配置,下面我列举2种联网的配置方法 方法1: 默认使用的是NAT模式,修改/etc/sysconfig/network-scripts/i ...
- poj 3415 Common Substrings 后缀数组+单调栈
题目链接 题意:求解两个字符串长度 大于等于k的所有相同子串对有多少个,子串可以相同,只要位置不同即可:两个字符串的长度不超过1e5; 如 s1 = "xx" 和 s2 = &qu ...
- 深入浅出话XAML-学习笔记
第一章 XAML是什么? 1.1XAML之前 *设计师的设计更不上程序逻辑的变化 *程序员未能完全实现设计师提供的效果图 *效果图与程序功能不能完全匹配 *从效果图到软件UI的转化耗费很多时间 1.2 ...