MySQL追加註釋或者大量修改註釋
MySQL 5.6.14
之前一個專案比較倉促,開發給的建表語句沒有註釋.
現在要補全註釋資訊.
但是MySQL後期追加註釋比較麻煩
需要使用modify語法。
只要不小心寫錯一點,就可能導致表結構的變更,而不是註釋的變更.
實驗表如下:
透過如下的SQL,解析後設資料資訊,可以直接顯示modify的內容.
追加或者修改註釋之後,執行語句即可.
這樣可以避免人為的失誤.
以實驗表為例,生成的modify語句如下.
之前一個專案比較倉促,開發給的建表語句沒有註釋.
現在要補全註釋資訊.
但是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 current_timestamp on update current_timestamp,
- c8 datetime 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 CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP comment '';
- alter table test.t modify column c8 datetime not null default CURRENT_TIMESTAMP comment '';
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29096438/viewspace-2057071/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- git修改commit註釋GitMIT
- Python註釋之TODO註釋Python
- JavaScript註釋:單行註釋和多行註釋詳解JavaScript
- Git 修改已提交的commit註釋GitMIT
- 註釋
- Python如何新增註釋?註釋有幾種?Python
- React註釋React
- SCSS 註釋CSS
- JavaScript 註釋JavaScript
- Java註釋Java
- HTML 註釋HTML
- Python註釋Python
- MySql給表新增列和註釋MySql
- 【MySQL】MHA的基本配置及註釋MySql
- MySQL的註釋符號有哪些MySql符號
- MySQL如何檢視新增修改表以及欄位註釋資訊MySql
- 註解和註釋區別
- IDEA自定義類註釋和方法註釋(自定義groovyScript方法實現多行引數註釋)Idea
- 10046 tracefile註釋
- IDEA新增註釋Idea
- 3 JS註釋JS
- /* */註釋的代替
- C# 註釋C#
- python程式註釋Python
- Oracle 增加修改刪除欄位與新增註釋Oracle
- iOS 註釋方法大全 程式碼塊加快捷鍵註釋iOS
- VsCode 新增檔案頭部註釋和函式註釋[koroFileHeader]VSCode函式Header
- idea java 類開發中註釋@Author @Description 註釋報警告IdeaJava
- Python註釋方式有哪些?註釋時需要注意什麼?Python
- vscode註釋快捷鍵是啥 vscode註釋快捷鍵設定VSCode
- IDEA中修改程式碼中的註釋顏色Idea
- CSS 註釋規範CSS
- 變數 和 註釋變數
- JavaScript 註釋規範JavaScript
- java命名與註釋Java
- CSS程式碼註釋CSS
- IDEA自定義註釋Idea
- Oracle comment新增註釋Oracle
- PHP 註釋標記,PHP