gpt4 book ai didi

MySQL表和列的注释总结

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章MySQL表和列的注释总结由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

像代码一样,可以为表以及表中的列添加注释,方便其他人知晓其功能。对于一些字段,在经过一定时间后,创建者未必也能想起其具体的含意,所以注释显得尤为重要.

注释的添加 注释的添加是通过在定义表或列的时候在末尾加上 COMMENT 关键字来实现的,最长支持 1024 个字符.

可以在创建表的时候为表和列添加相应的注释.

?
1
2
3
4
5
6
CREATE TABLE test_comment
  (
    id  SERIAL PRIMARY KEY ,
    col1 INT comment '列的注释'
  )
comment '表的注释' ;

执行上面的语句后创建了一个名为 test_comment 的表,并且为表和其中的 col1 列指定了相应的注释.

然后可通过 SHOW CREATE TABLE <table_name> 来查看.

?
1
2
3
4
5
6
7
8
9
10
mysql> SHOW CREATE TABLE test_comment\G
*************************** 1. row ***************************
     Table : test_comment
Create Table : CREATE TABLE `test_comment` (
  `id` bigint (20) unsigned NOT NULL AUTO_INCREMENT,
  `col1` int (11) DEFAULT NULL COMMENT '列的注释' ,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE =utf8mb4_general_ci COMMENT= '表的注释'
1 row in set (0.00 sec)

注释的查看 。

除了 SHOW CREATE TABLE <table_name> 语法,还有其他一些查看注释的方式.

SHOW TABLE STATUS 能够查看表的注释,其语法为:

SHOW TABLE STATUS WHERE name='table_name'; 以下是通过 SHOW TABLE STATUS 查看的结果:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
mysql> SHOW TABLE STATUS WHERE name = 'test_comment' \G
*************************** 1. row ***************************
       Name : test_comment
      Engine: InnoDB
     Version: 10
    Row_format: Dynamic
       Rows : 0
  Avg_row_length: 0
   Data_length: 16384
Max_data_length: 0
   Index_length: 16384
    Data_free: 0
  Auto_increment: 1
   Create_time: 2019-05-11 15:41:01
   Update_time: NULL
    Check_time: NULL
    Collation: utf8mb4_general_ci
     Checksum: NULL
  Create_options:
     Comment: 表的注释
1 row in set (0.00 sec)

而通过 SHOW FULL COLUMNS 则可查看列的注释,其语法为:

SHOW FULL COLUMNS FROM <tablename> 。

以下是通过 SHOW FULL COLUMNS 查看的结果:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
mysql>SHOW FULL COLUMNS FROM test_comment\G
*************************** 1. row ***************************
    Field: id
    Type: bigint (20) unsigned
  Collation: NULL
    Null : NO
     Key : PRI
   Default : NULL
    Extra: auto_increment
Privileges : select , insert , update , references
   Comment:
*************************** 2. row ***************************
    Field: col1
    Type: int (11)
  Collation: NULL
    Null : YES
     Key :
   Default : NULL
    Extra:
Privileges : select , insert , update , references
   Comment: 列的注释
2 rows in set (0.00 sec)

借助 INFORMATION_SCHEMA 中的表 也能查看表或列的注释.

比如查看表的注释:

?
1
2
3
SELECT table_comment
FROM  information_schema.tables
WHERE table_name = 'test_comment' ;

执行结果:

?
1
2
3
4
5
6
7
8
9
mysql> SELECT table_comment
   -> FROM  information_schema.tables
   -> WHERE table_name = 'test_comment' ;
+ ---------------+
| TABLE_COMMENT |
+ ---------------+
| 表的注释   |
+ ---------------+
1 row in set (0.01 sec)

查看列的注释:

?
1
2
3
SELECT column_comment
FROM  information_schema.columns
WHERE column_name = 'col1' ;

执行结果:

?
1
2
3
4
5
6
7
8
9
mysql> SELECT column_comment
   -> FROM  information_schema.columns
   -> WHERE column_name = 'col1' ;
+ ----------------+
| COLUMN_COMMENT |
+ ----------------+
| 列的注释    |
+ ----------------+
1 row in set (0.00 sec)

注释的更新 对已经存在的表和列,可通过相应的更新修改操作来添加注释.

列注释的添加,更新 CHANGE 和 MODIFY 等效,区别在于 CHANGE 重写定义列,需要书写完整的列定义,包括新的列名称,即使你并不想修改列的免,而 MODIFY 则不用指定新的列名称.

通过 CHANGE 语法:

?
1
2
3
mysql> ALTER TABLE test_comment CHANGE col1 col1 INT COMMENT '列的注释2' ;
Query OK, 0 rows affected (0.02 sec)
Records: 0 Duplicates: 0 Warnings: 0

通过 MODIFY 语法:

?
1
2
3
mysql> ALTER TABLE test_comment MODIFY col1 INT COMMENT '列的注释2' ;
Query OK, 0 rows affected (0.02 sec)
Records: 0 Duplicates: 0 Warnings: 0

查看修改结果:

?
1
2
3
4
5
6
7
8
9
10
mysql> SHOW CREATE TABLE test_comment\G
*************************** 1. row ***************************
     Table : test_comment
Create Table : CREATE TABLE `test_comment` (
  `id` bigint (20) unsigned NOT NULL AUTO_INCREMENT,
  `col1` int (11) DEFAULT NULL COMMENT '列的注释2' ,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE =utf8mb4_general_ci COMMENT= '表的注释'
1 row in set (0.00 sec)

表注释的添加,更新 通过 ALTER TABLE 来完成对表注释的添加和更新.

?
1
2
3
mysql> ALTER TABLE test_comment comment '表的注释2' ;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0

查看更新结果:

?
1
2
3
4
5
6
7
8
9
10
mysql> SHOW CREATE TABLE test_comment\G
*************************** 1. row ***************************
     Table : test_comment
Create Table : CREATE TABLE `test_comment` (
  `id` bigint (20) unsigned NOT NULL AUTO_INCREMENT,
  `col1` int (11) DEFAULT NULL COMMENT '列的注释2' ,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE =utf8mb4_general_ci COMMENT= '表的注释2'
1 row in set (0.00 sec)

注释的删除 更新注释时指定为空即可.

?
1
2
3
4
5
6
7
mysql> ALTER TABLE test_comment COMMENT '' ;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
 
mysql> ALTER TABLE test_comment MODIFY col1 INT COMMENT '' ;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0

查看删除结果:

?
1
2
3
4
5
6
7
8
9
10
mysql> SHOW CREATE TABLE test_comment\G
*************************** 1. row ***************************
     Table : test_comment
Create Table : CREATE TABLE `test_comment` (
  `id` bigint (20) unsigned NOT NULL AUTO_INCREMENT,
  `col1` int (11) DEFAULT NULL ,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE =utf8mb4_general_ci
1 row in set (0.00 sec)

最后此篇关于MySQL表和列的注释总结的文章就讲到这里了,如果你想了解更多关于MySQL表和列的注释总结的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com