表注释与字段注释
# 420.表注释与字段注释
之前我们学的注释都是针对某个SQL,注释可以使其易于理解;
除此之外,我们还可以给表和表的字段添加注释。
# 添加注释
在MySQL数据库中,字段或列的注释是用属性comment来添加和修改的
可以在建表的时候添加,例如:
create table test1
(
field_name int comment '字段的注释'
) comment = '表的注释'; -- 写不写等号都行
1
2
3
4
2
3
4
# 查看表注释
两种方法:
- 查看建表语句
- 在元数据的表里面看
查看建表语句:
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='表的注释' |
+-------+------------------------------------------------------+
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
在元数据的表里面看:
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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 查看字段注释
查看表的所有字段的注释:
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)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
在元数据的表里面看:
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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 修改表的注释
-- 语法:
alter table 表名 comment '新注释';
-- 举例:
alter table test1 comment '修改后的表的注释';
1
2
3
4
5
6
2
3
4
5
6
# 修改字段的注释
-- 语法:
alter table 表名 modify column 字段名 字段类型 comment '新注释';
-- 举例:
alter table test1 modify column field_name int comment '修改后的字段注释';
1
2
3
4
5
6
2
3
4
5
6
注意,由于alter可以修改字段的类型和注释,如果我们只是想修改注释,则字段类型照写就行
(完)
上次更新: 2024/1/21 22:40:12