mysql
1.創建表的時候寫注釋
create table test1
(
field_name int comment ‘字段的注釋’
)comment=‘表的注釋’;
2.修改表的注釋
alter table test1 comment ‘修改后的表的注釋’;
3.修改字段的注釋
alter table test1 modify column field_name int comment ‘修改后的字段注釋’;
–注意:字段名和字段類型照寫就行
4.查看表注釋的方法
–在生成的SQL語句中看
show create table test1;
–在元數據的表里面看
use information_schema;
select * from TABLES where TABLE_SCHEMA=‘my_db’ and TABLE_NAME=‘test1’ \G
sql添加注釋語句、5.查看字段注釋的方法
–show
show full columns from test1;
–在元數據的表里面看
select * from COLUMNS where TABLE_SCHEMA=‘my_db’ and TABLE_NAME=‘test1’ \G
二.引申知識
1.使用alter table方法
Sql代碼 收藏代碼
ALTER TABLE table_name MODIFY COLUMN column_name TINYINT(tinyint表示column類型) COMMENT '-1:默認值,1:人員id,2:公司id';
這種方法會重建表,如果數據量大,一個表100w數據,執行1min,如果分表數30個那就總共需要執行30min
2.使用元數據表
MySQL增刪改查語句。Sql代碼 收藏代碼
USE information_schema;
UPDATE COLUMNS t SET t.column_comment = '-1:默認值,1:人員id,2:公司id' WHERE t.TABLE_SCHEMA='database_name' AND t.table_name='table_name' AND t.COLUMN_NAME='column_name ';
查詢語句,更新前可以查詢一下
Sql代碼 收藏代碼
SELECT t.column_comment FROM COLUMNS t WHERE t.TABLE_SCHEMA='database_name' AND t.TABLE_NAME='table_name' AND t.COLUMN_NAME='column_name ';
本想這種修改元數據的方法可以修改表的字段注釋,但是沒有權限執行,錯誤如下:
Text代碼 收藏代碼
錯誤代碼: 1044 Access denied for user ‘usr’@’%’ to database
‘information_schema’
MySQL注釋?官方解釋:
INFORMATION_SCHEMA是信息數據庫,其中保存著關于MySQL服務器所維護的所有其他數據庫的信息。在INFORMATION_SCHEMA中,有數個只讀表。它們實際上是視圖,而不是基本表,因此,你將無法看到與之相關的任何文件。
每位MySQL用戶均有權訪問這些表,但僅限于表中的特定行,在這類行中含有用戶具有恰當訪問權限的對象。
事實上,盡管不需要生成名為INFORMATION_SCHEMA的文件,我們仍提供了名為INFORMATION_SCHEMA的新數據庫。可以使用USE語句將INFORMATION_SCHEMA選擇為默認數據庫,但訪問該數據庫中所含表的唯一方式是使用SELECT語句。不能在其中插入內容,不能更新它們,也不能刪除其中的內容。
網摘:
Mysql沒有Oracle那么方便,修改注釋的時候需要指定{type}(這是Mysql設計的不合理性!);系統數據字典表COLUMNS中有保存所有表的字段信息,但是系統字典表是只讀的,無法修改注釋;
sql添加注釋、所以,Mysql修改注釋必須按照上面的格式對不同類型做判斷,并且帶有長度的字段必須指明length與decimals,否則更新注釋的時候會修改length,decimals為默認值的;
修改Mysql注釋是件麻煩的事情,但是也只能這樣了。
3.難道就沒有別的方法了?
當對于一個大表進行ALTER TABLE的時候,性能問題就產生了。MySQL大部分改動的步驟如下:根據新的表結構創建一個空表,從舊表中把數據取出來插入到新表中,在刪除舊表。這是個非常漫長的過程。許多人ALTER TABLE之后,都有等待1小時或者1天的痛苦經歷。
你可以這樣,新建一個表,改變那個列的comment,然后原始實例關閉,替換.frm文件,再重啟。
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态