這篇文章主要講解了“追加注釋或者大量修改注釋的方法”,文中的講解內容簡(jiǎn)單清晰,易于學(xué)習與理解,下面請大家跟著(zhù)小編的思路慢慢深入,一起來(lái)研究和學(xué)習“MySQL追加注釋或者大量修改注釋的方法”吧!
MySQL 5.6.14
之前一個(gè)項目比較倉促,開(kāi)發(fā)給的建表語(yǔ)句沒(méi)有注釋.
現在要補全注釋信息.
但是MySQL后期追加注釋比較麻煩
需要使用modify語(yǔ)法。
只要不小心寫(xiě)錯一點(diǎn),就可能導致表結構的變更,而不是注釋的變更.
實(shí)驗表如下:
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類(lèi)型測試',
c4 varchar(20) not null default '' ,
c5 bigint ,
c6 text comment 'text測試',
c7 timestamp not null default on update not null default now()
);
通過(guò)如下的SQL,解析元數據信息,可以直接顯示modify的內容.
追加或者修改注釋之后,執行語(yǔ)句即可.
這樣可以避免人為的失誤.
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í)驗表為例,生成的modify語(yǔ)句如下.
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類(lèi)型測試';
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 '';
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站