這篇文章主要講解了“MySQL追加注釋或者大量修改注釋的方法”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“MySQL追加注釋或者大量修改注釋的方法”吧!
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了掇刀免費(fèi)建站歡迎大家使用!
MySQL 5.6.14
之前一個項(xiàng)目比較倉促,開發(fā)給的建表語句沒有注釋.
現(xiàn)在要補(bǔ)全注釋信息.
但是MySQL后期追加注釋比較麻煩
需要使用modify語法。
只要不小心寫錯一點(diǎn),就可能導(dǎo)致表結(jié)構(gòu)的變更,而不是注釋的變更.
實(shí)驗(yàn)表如下:
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 on update not null default now()
);
通過如下的SQL,解析元數(shù)據(jù)信息,可以直接顯示modify的內(nèi)容.
追加或者修改注釋之后,執(zhí)行語句即可.
這樣可以避免人為的失誤.
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'
以實(shí)驗(yàn)表為例,生成的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 on update '';
alter table test.t modify column c8 datetime not null default '';
感謝各位的閱讀,以上就是“MySQL追加注釋或者大量修改注釋的方法”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對MySQL追加注釋或者大量修改注釋的方法這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!