中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL追加注釋或者大量修改注釋的方法

發布時間:2021-09-16 16:15:49 來源:億速云 閱讀:205 作者:chen 欄目:MySQL數據庫

這篇文章主要講解了“MySQL追加注釋或者大量修改注釋的方法”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“MySQL追加注釋或者大量修改注釋的方法”吧!

MySQL 5.6.14

之前一個項目比較倉促,開發給的建表語句沒有注釋.
現在要補全注釋信息.
但是MySQL后期追加注釋比較麻煩
需要使用modify語法。

只要不小心寫錯一點,就可能導致表結構的變更,而不是注釋的變更.

實驗表如下:

  1. create table t(  

  2.     c1 int primary key auto_increment,  

  3.     c2 char(20) not null default 'c2'  comment 'c2的注釋',  

  4.     c3 date default '2016-01-25' comment 'date類型測試',  

  5.     c4 varchar(20) not null default '' ,  

  6.     c5 bigint ,  

  7.     c6 text comment 'text測試',  

  8.     c7 timestamp not null default on update not null default now()  

  9. );  



通過如下的SQL,解析元數據信息,可以直接顯示modify的內容.
追加或者修改注釋之后,執行語句即可.
這樣可以避免人為的失誤.

  1. SELECT     

  2. concat(    

  3.     'alter table ',     

  4.     table_schema, '.', table_name,     

  5.     ' modify column ', column_name, ' ', column_type, ' ',     

  6.     if(is_nullable = 'YES', ' ', 'not null '),     

  7.     if(column_default IS NULL, '',     

  8.         if(    

  9.             data_type IN ('char', 'varchar')     

  10.             OR     

  11.             data_type IN ('date', 'datetime', 'timestamp') AND column_default != 'CURRENT_TIMESTAMP',     

  12.             concat(' default ''', column_default,''''),     

  13.             concat(' default ', column_default)    

  14.         )    

  15.     ),     

  16.     if(extra is null or extra='','',concat(' ',extra)),  

  17.     ' comment ''', column_comment, ''';'    

  18. ) s    

  19. FROM information_schema.columns    

  20. WHERE table_schema = 'test'    

  21.     AND table_name = 't'   



以實驗表為例,生成的modify語句如下.

  1. alter table test.t modify column c1 int(11) not null  auto_increment comment '';  

  2. alter table test.t modify column c2 char(20) not null  default 'c2' comment 'c2的注釋';  

  3. alter table test.t modify column c3 date   default '2016-01-25' comment 'date類型測試';  

  4. alter table test.t modify column c4 varchar(20) not null  default '' comment '';  

  5. alter table test.t modify column c5 bigint(20)   comment '';  

  6. alter table test.t modify column c6 text   comment 'text測試';  

  7. alter table test.t modify column c7 timestamp not null  default on update '';  

  8. alter table test.t modify column c8 datetime not null  default '';  

感謝各位的閱讀,以上就是“MySQL追加注釋或者大量修改注釋的方法”的內容了,經過本文的學習后,相信大家對MySQL追加注釋或者大量修改注釋的方法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

甘德县| 神池县| 四会市| 东台市| 无棣县| 长泰县| 淳安县| 应用必备| 庆阳市| 惠水县| 莱西市| 双鸭山市| 门源| 张掖市| 孝感市| 龙井市| 永嘉县| 钦州市| 高台县| 宝应县| 桑植县| 德令哈市| 哈尔滨市| 广丰县| 浠水县| 准格尔旗| 鄂伦春自治旗| 金阳县| 凤凰县| 阜新市| 泸水县| 隆安县| 财经| 克拉玛依市| 伊春市| 通化市| 库车县| 青州市| 河津市| 凭祥市| 秦皇岛市|