您好,登錄后才能下訂單哦!
這篇文章主要講解了“MySQL追加注釋或者大量修改注釋的方法”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“MySQL追加注釋或者大量修改注釋的方法”吧!
MySQL 5.6.14
之前一個項目比較倉促,開發給的建表語句沒有注釋.
現在要補全注釋信息.
但是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 on update 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 on update '';
alter table test.t modify column c8 datetime not null default '';
感謝各位的閱讀,以上就是“MySQL追加注釋或者大量修改注釋的方法”的內容了,經過本文的學習后,相信大家對MySQL追加注釋或者大量修改注釋的方法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。