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等一些工具,会推送到本地仓库一半,但远程又上不去. 这个时候我们就需要强 ...
随机推荐
- echarts.js(图表插件)2.0版会导致 ZeroClipboard.js(复制插件)失效,3.0版未知。
解决方法:ZeroClipboard.js先于echarts.js加载.
- c#winform,制作可编辑html编辑器
大神勿喷,新手记笔记 材料 网上下载kindeditor,动手在写个htmldome,图中的e.html.然后全部扔到了bin/debug下面,(x86是要扔到bin/x86/debug) 中间bod ...
- Web性能压力测试工具之Siege详解
PS:Siege是一款开源的压力测试工具,设计用于评估WEB应用在压力下的承受能力.可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进 ...
- Android源代码编译——下载
下了好久的源代码,真真是慢哈.真希望国内有公司能够把镜像开放出来. 不多说,首先是系统环境,我的系统是Ubuntu 64位系统(14.04), 版本应该没什么. 需要的库 Git: 没话说必须, su ...
- 【python】开始python之旅
上午开始抽空学习python,具体内容如下: (1)安装了python 2.7 (2)安装了notepad ++,安装它之前,在notepad++和Sublime Text之间纠结了一下,baidu了 ...
- Python试卷
3.写一个函数,计算一个给定的日期是该年的第几天. def getday(self,y=None,m=None,d=None): date = datetime(y,m,d) days = date. ...
- android include中的控件调用
项目中经常会有一些布局是重用的,但是如何来更好的利用这些布局中的控件 转: http://zhidao.baidu.com/link?url=GU93U8Wu31dfp7mKEx52hMJkxjFLC ...
- MongoDB 日期 插入时少8小时
存储在mongodb中的时间是标准时间UTC +0:00 而咱们中国的失去是+8.00 . C#的驱动支持一个特性,将实体的时间属性上添加上这个特性并指时区就可以了.例如:[BsonDateTime ...
- 收录一个简单的css类库
/* CSS liberary */.yahei { font-family: "Microsoft Yahei", "Tahoma", "Si ...
- C#中Thread.sleep()
我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时间.那么你有没有正确的理解这个函数的用法呢?思考下面这两个问题:1.假设现在是 2008-4-7 12:00:00.000,如果我调 ...