MySQL資料庫中,如何檢視錶和欄位的註釋資訊,以及如何新增,修改表和欄位的註釋資訊呢?這裡簡單總結歸納一下。僅供參考。
新增表的註釋資訊
方法1:建立表的時候新增表的註釋資訊
create table if not exists employee
(
employee_id int not null comment '員工號',
employee_name varchar(30) comment '員工姓名'
) comment '員工資訊表';
方法2:使用ALTER TABLE給表新增註釋
alter table table_name comment='表的註釋';
alter table employee comment='僱員資訊表';
修改表註釋資訊
如果修改表的註釋資訊,只能使用上面的方法2.
alter table table_name comment='表的註釋';
檢視錶的註釋資訊
方法1:檢視錶的建立指令碼,會顯示錶的註釋資訊
show create table employee;
方法2: 查詢information_schema.tables表。
select table_schema
,table_name
,table_comment
from information_schema.tables
where table_schema='kerry'
and table_name='employee'\G
欄位新增註釋資訊
方法1:建立表的時候給欄位新增註釋
create table employee
(
employee_id int not null comment '員工號',
employee_name varchar(30) comment '員工姓名',
) comment '員工資訊表';
方法2:建立表後,新增欄位的註釋資訊
ALTER TABLE employee CHANGE COLUMN employee_name employee_name varchar(30) DEFAULT NULL COMMENT '員工姓名2' ;
ALTER TABLE employee MODIFY COLUMN employee_name varchar(30) DEFAULT NULL COMMENT '修改後的欄位註釋';
不過有點奇怪的是,MySQL資料庫修改欄位的註釋或給欄位新增註釋,都必須加上欄位型別,如果你不加欄位型別,則會報錯。這樣給人的感覺非常 彆扭與怪異。如下所示
mysql>ALTER TABLE employee CHANGE COLUMN employee_name COMMENT '員工姓名2' ;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''員工姓名2'' at line 1
這個跟Oracle資料庫有些不同。 Oracle資料庫給表欄位新增註釋語句如下:
--新增欄位註釋:
COMMENT ON COLUMN employee.employee_name IS '員工姓名';
修改欄位註釋資訊
MySQL表修改欄位的註釋資訊,可以使用上面的方法2.
欄位註釋資訊檢視
方法1:檢視錶的建立指令碼,會顯示錶的欄位註釋資訊
show create table employee;
方法2: show full columns from xxx檢視
mysql> show full columns from employee\G
*************************** 1. row ***************************
Field: employee_id
Type: int
Collation: NULL
Null: NO
Key:
Default: NULL
Extra:
Privileges: select,insert,update,references
Comment: 員工號
*************************** 2. row ***************************
Field: employee_name
Type: varchar(30)
Collation: utf8mb4_general_ci
Null: YES
Key:
Default: NULL
Extra:
Privileges: select,insert,update,references
Comment: 修改後的欄位註釋
2 rows in set (0.00 sec)
mysql>
方法3:檢視information_schema.columns系統表
select table_schema,table_name,column_name,column_comment from information_schema.columns
where table_schema='kerry'
and table_name='employee'
order by ordinal_position;