MySQL字段添加注釋,但不改變字段的類型


之前在導數據庫數據的時候,忘記將字段的注釋導過來了。現在需要將所有字段都加上注釋(崩潰)。由於導數據的過程比較長,業務那邊從原始數據庫導出了一個 Excel,里面有所有字段的注釋,然后讓我們根據這個注釋一個個加。

MySQL添加注釋語句

之前以為給MySQL字段添加注釋很容易,但是找了下都是需要同時修改字段類型的,和我們的需求不符。比如

ALTER TABLE tb_name MODIFY COLUMN name col_type  COMMENT '注釋';

上面的修改語句中都需要指定新的字段類型才能加新的注釋,但是我們又不知道字段的具體類型,這個方式行不通。

最后在網上找了一個修改元數據表的方法來添加注釋。

UPDATE information_schema.COLUMNS t  SET t.column_comment  = '注釋' WHERE t.TABLE_SCHEMA= 'schema1' AND t.table_name='tbl_name' AND t.COLUMN_NAME= 'col_name'

使用 Excel 拼接 SQL

業務給到我們的 Excel 文件內容如下:

inner_code trading_day prev_close_price open_price high_price low_price
內碼 交易日 昨收 開盤價 最高價 最低價

第一行是表的具體字段,第二行是字段的具體注釋。作為一個程序員,我發現這個操作可以通過 Excel 進行 SQL 拼接。具體做法如下:

step1:拷貝第一行的字段到另一個sheet頁,並進行轉列復制(見紅色方框)

行轉列后效果如下:

step2:將注釋列進行同樣的行轉列復制

step3:通過Excel字符串拼語句進行拼接

我們只需要在C3列輸入以下拼接語句就可以進行sql拼接了,然后使用Excel的下拉功能可以進行所有字段的注釋腳本拼接。

" UPDATE information_schema.COLUMNS t  SET t.column_comment  = '" & A1 & "' WHERE t.TABLE_SCHEMA='schema1' AND t.table_name='tbl_name'  AND t.COLUMN_NAME='" & B2 & "';"

上面的拼接語句中:

  • 拼接用&
  • 拼接的內容需要用""引起
  • 如果是日期單元格,拼接內容需要將其轉為TEXT文本內容再進行拼接,否則會顯示錯誤內容

參考


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM