MySQL追加注释或者大量修改注释的方法
这篇文章主要讲解了“MySQL追加注释或者大量修改注释的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL追加注释或者大量修改注释的方法”吧!
MySQL 5.6.14
之前一个项目比较仓促,开发给的建表语句没有注释.
现在要补全注释信息.
但是MySQL后期追加注释比较麻烦
需要使用modify语法。
只要不小心写错一点,就可能导致表结构的变更,而不是注释的变更.
实验表如下:
createtablet(
c1intprimarykeyauto_increment,
c2char(20)notnulldefault'c2'comment'c2的注释',
c3datedefault'2016-01-25'comment'date类型测试',
c4varchar(20)notnulldefault'',
c5bigint,
c6textcomment'text测试',
c7timestampnotnulldefaultonupdatenotnulldefaultnow()
);
通过如下的SQL,解析元数据信息,可以直接显示modify的内容.
追加或者修改注释之后,执行语句即可.
这样可以避免人为的失误.
SELECT
concat(
'altertable',
table_schema,'.',table_name,
'modifycolumn',column_name,'',column_type,'',
if(is_nullable='YES','','notnull'),
if(column_defaultISNULL,'',
if(
data_typeIN('char','varchar')
OR
data_typeIN('date','datetime','timestamp')ANDcolumn_default!='CURRENT_TIMESTAMP',
concat('default''',column_default,''''),
concat('default',column_default)
)
),
if(extraisnullorextra='','',concat('',extra)),
'comment''',column_comment,''';'
)s
FROMinformation_schema.columns
WHEREtable_schema='test'
ANDtable_name='t'
以实验表为例,生成的modify语句如下.
altertabletest.tmodifycolumnc1int(11)notnullauto_incrementcomment'';
altertabletest.tmodifycolumnc2char(20)notnulldefault'c2'comment'c2的注释';
altertabletest.tmodifycolumnc3datedefault'2016-01-25'comment'date类型测试';
altertabletest.tmodifycolumnc4varchar(20)notnulldefault''comment'';
altertabletest.tmodifycolumnc5bigint(20)comment'';
altertabletest.tmodifycolumnc6textcomment'text测试';
altertabletest.tmodifycolumnc7timestampnotnulldefaultonupdate'';
altertabletest.tmodifycolumnc8datetimenotnulldefault'';
感谢各位的阅读,以上就是“MySQL追加注释或者大量修改注释的方法”的内容了,经过本文的学习后,相信大家对MySQL追加注释或者大量修改注释的方法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。