Mysql 查看表注释或字段注释

查看所有表的注释

1
2
3
4
5
6
7
8
9
SELECT
table_name 表名,
table_comment 表说明
FROM
information_schema.TABLES
WHERE
table_schema = '数据库名'
ORDER BY
table_name

查询所有表及字段的注释

1
2
3
4
5
6
7
8
9
10
11
12
13
14
SELECT
a.table_name 表名,
a.table_comment 表说明,
b.COLUMN_NAME 字段名,
b.column_comment 字段说明,
b.column_type 字段类型,
b.column_key 约束
FROM
information_schema. TABLES a
LEFT JOIN information_schema. COLUMNS b ON a.table_name = b.TABLE_NAME
WHERE
a.table_schema = '数据库名'
ORDER BY
a.table_name

查询某表的所有字段的注释

1
2
3
4
5
6
7
select 
COLUMN_NAME 字段名,
column_comment 字段说明,
column_type 字段类型,
column_key 约束 from information_schema.columns
where table_schema = '数据库名'
and table_name = '表名' ;

或者

1
show full columns from 表名;

查看表生成的DDL

注意表名不加单引号

1
show create table 表名;

新建表以及添加表和字段的注释

1
2
3
4
5
create table t_user(
ID INT(19) primary key auto_increment comment '主键',
NAME VARCHAR(300) comment '姓名',
CREATE_TIME date comment '创建时间'
)comment = '用户信息表';

修改表/字段的注释

修改表注释

1
alter table t_user comment  = '修改后的表注释信息(用户信息表)';

修改字段注释

1
alter table t_user modify column id int comment '主键ID';

获取表索引

所有表索引

1
2
3
4
# 拼接删除索引的语法(排除主键索引)
SELECT CONCAT('ALTER TABLE ',i.TABLE_NAME,' DROP INDEX ',i.INDEX_NAME,' ;')
FROM INFORMATION_SCHEMA.STATISTICS i
WHERE TABLE_SCHEMA = '库名' AND i.INDEX_NAME <> 'PRIMARY';

单表索引

1
2
3
4
# 拼接删除索引的语法(排除主键索引)
SELECT CONCAT('ALTER TABLE ',i.TABLE_NAME,' DROP INDEX ',i.INDEX_NAME,' ;')
FROM INFORMATION_SCHEMA.STATISTICS i
WHERE TABLE_SCHEMA = 'xhkj_ques_0919' AND TABLE_NAME='t_question_bak' AND i.INDEX_NAME <> 'PRIMARY';