搜索 K
Appearance
博客正在加载中...
Appearance
之前我们学的注释都是针对某个 SQL,注释可以使其易于理解;
除此之外,我们还可以给表和表的字段添加注释。
在 MySQL 数据库中,字段或列的注释是用属性 comment 来添加和修改的
可以在建表的时候添加,例如:
create table test1
(
field_name int comment '字段的注释'
) comment = '表的注释'; -- 写不写等号都行两种方法:
show create table test1;
-- 结果:
+-------+-------------------------------------------------------+
| Table | Create Table |
+-------+---------------------------------------------------------+
| test1 | CREATE TABLE `test1` (
`field_name` int DEFAULT NULL COMMENT '字段的注释'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='表的注释' |
+-------+------------------------------------------------------+在元数据的表里面看:
use information_schema;
select * from TABLES where TABLE_SCHEMA='shop' and TABLE_NAME='test1' \G
-- 结果:
*************************** 1. row ***************************
TABLE_CATALOG: def
TABLE_SCHEMA: shop
TABLE_NAME: test1
TABLE_TYPE: BASE TABLE
ENGINE: InnoDB
VERSION: 10
ROW_FORMAT: Dynamic
TABLE_ROWS: 0
AVG_ROW_LENGTH: 0
DATA_LENGTH: 16384
MAX_DATA_LENGTH: 0
INDEX_LENGTH: 0
DATA_FREE: 0
AUTO_INCREMENT: NULL
CREATE_TIME: 2023-11-17 09:50:40
UPDATE_TIME: NULL
CHECK_TIME: NULL
TABLE_COLLATION: utf8mb4_0900_ai_ci
CHECKSUM: NULL
CREATE_OPTIONS:
TABLE_COMMENT: 表的注释
1 row in set (0.00 sec)
查看表的所有字段的注释:
show full columns from test1;
-- 结果:
+------------+------+-----------+------+-----+---------+-------+---------------------------------+------------+
| Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment |
+------------+------+-----------+------+-----+---------+-------+---------------------------------+------------+
| field_name | int | NULL | YES | | NULL | | select,insert,update,references | 字段的注释 |
+------------+------+-----------+------+-----+---------+-------+---------------------------------+------------+
1 row in set (0.00 sec) 在元数据的表里面看:
select * from COLUMNS where TABLE_SCHEMA='shop' and TABLE_NAME='test1' \G
-- 结果:
*************************** 1. row ***************************
TABLE_CATALOG: def
TABLE_SCHEMA: shop
TABLE_NAME: test1
COLUMN_NAME: field_name
ORDINAL_POSITION: 1
COLUMN_DEFAULT: NULL
IS_NULLABLE: YES
DATA_TYPE: int
CHARACTER_MAXIMUM_LENGTH: NULL
CHARACTER_OCTET_LENGTH: NULL
NUMERIC_PRECISION: 10
NUMERIC_SCALE: 0
DATETIME_PRECISION: NULL
CHARACTER_SET_NAME: NULL
COLLATION_NAME: NULL
COLUMN_TYPE: int
COLUMN_KEY:
EXTRA:
PRIVILEGES: select,insert,update,references
COLUMN_COMMENT: 字段的注释
GENERATION_EXPRESSION:
SRS_ID: NULL
1 row in set (0.00 sec)
-- 语法:
alter table 表名 comment '新注释';
-- 举例:
alter table test1 comment '修改后的表的注释';-- 语法:
alter table 表名 modify column 字段名 字段类型 comment '新注释';
-- 举例:
alter table test1 modify column field_name int comment '修改后的字段注释';注意,由于 alter 可以修改字段的类型和注释,如果我们只是想修改注释,则字段类型照写就行
(完)