获取mysql库表清单和字段清单——MySQL查询表和字段注释信息

发布时间 2023-10-09 11:36:44作者: 06

最近接到一个需求,就是整理现有系统的库表清单和字段清单用于交付

一个系统那么多表和字段,这工作量可不小啊

作为一个技术人当然不甘于这样认输,果断查找是否可以通过sql查出,最后还是找到了

一、前言
说明
在mysql中,information_schema这个数据库中保存了mysql服务器所有数据库的信息。
包括数据库名,数据库的表,表字段的数据类型等。
简而言之,若想知道mysql中有哪些库,哪些表,表里面有哪些字段以及他们的注释,都可以从information_schema中获取。

二、查看数据所有表名及注释

可以根据文档要求来列出查询条件

文档要求:

 库注释,库ip,库名,库类型都可以手动填,最后两个需要导出


select
    t.TABLE_COMMENT,
    t.TABLE_NAME
from
    information_schema.tables t
where
    t.TABLE_TYPE = 'BASE TABLE'
    and TABLE_schema = '数据库名'

 

三、查看数据库所有表及字段的注释

文档要求:

 表注释,表名,字段注释,字段名,字段类型都可以查出,关联字段和字典项,需要酌情填写

select
    a.TABLE_COMMENT,
    a.TABLE_NAME,
    b.COLUMN_comment,
    b.COLUMN_name,
    b.COLUMN_type
from
    information_schema.TABLES a
left join information_schema.COLUMNS b on
    a.table_name = b.TABLE_NAME
where
    a.table_schema ='数据库名'

有其他需求,可以查看information_schema.TABLES 和 information_schema.COLUMNS 表里面的字段,按需求列出查询项


四、查看指定表的字段及注释

select
    b.ordinal_position,
    b.COLUMN_name,
    b.COLUMN_type,
    b.COLUMN_comment,
    b.is_nullable,
    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 = '数据库名'

 

参考文档:

https://blog.csdn.net/qq_44723773/article/details/130614544

https://zhuanlan.zhihu.com/p/88342863