首页 > 数据库 >获取mysql库表清单和字段清单——MySQL查询表和字段注释信息

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

时间:2023-10-09 11:46:41浏览次数:44  
标签:information 表和字 数据库 注释 COLUMN mysql 清单 TABLE schema

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

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

作为一个技术人当然不甘于这样认输,果断查找是否可以通过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

标签:information,表和字,数据库,注释,COLUMN,mysql,清单,TABLE,schema
From: https://www.cnblogs.com/allay/p/17751315.html

相关文章

  • 安装MySQL报错
    报错1:初始化报错mysqld:errorwhileloadingsharedlibraries:libaio.so.1:cannotopensharedobjectfile:Nosuchfileordirectory 缺少libaio.so.1共享库文件。libaio是一个用于异步I/O操作的库,MySQL依赖于它。解决这个问题的方法是安装libaio库。yum-yin......
  • mac mysqld停止
    sudo/usr/local/mysql/support-files/mysql.serverstop//停止sudo/usr/local/mysql/support-files/mysql.serverstart//启动sudo/usr/local/mysql/support-files/mysql.serverrestart//重启重启MySQL提示MySQLserverPIDfilecouldnotbefound!StartingMy......
  • 【MySQL】 将字段相同的记录排在一起,按时间倒序
    一、实现效果:蓝牙mac字段是相同的记录,排在一起,再按时间倒序,总体时间来说也需要倒序 二、SQL编写:最开始的想法就是,那我直接按mac和时间排序不就好了SELECT*FROMaca_be_lpresultORDERBYmacDESC,update_dateDESC但是实际业务会有这样的的情况1、同一个mac的记录,......
  • mysql8.x root 密码忘记了如何重置
    网上也有很多关于重置密码的,由于版本的问题,很多无法正常重置密码。因此在这里将重置密码的方法进行整理下,方便以后参考:一、免密登录mysql1、停止mysql服务cmd窗口输入netstopmysql 2、设置免密登录mysqld--console--skip-grant-tables--shared-memory 3、另开一个cm......
  • java中的mysql优化
    Java中的MySQL优化有许多方面可以考虑,以下是一些常见的优化技巧:使用索引:为频繁进行查询的列创建索引,可以大大提高查询效率。但是需要注意不要过度索引,否则可能会降低写操作的性能。优化SQL查询语句:合理编写SQL语句,避免不必要的复杂查询。可以使用EXPLAIN语句来分析查询执行计划,找出......
  • DataFrame通过JDBC读写数据读写到数据mysql
    #coding:utf8importtimefrompyspark.sqlimportSparkSessionfrompyspark.sql.typesimportStructType,StringType,IntegerTypeimportpandasaspdfrompyspark.sqlimportfunctionsasFif__name__=='__main__':#0.构建执行环境入口对象SparkSes......
  • Mysql 8.0 Navicat连接Mysql报错Authentication plugin ‘caching_sha2_password‘ ca
    1、终端登陆MySQL$mysql-uroot-ppassword#登入mysql2、修改账户密码加密规则并更新用户密码ALTERUSER'root'@'localhost'IDENTIFIEDBY'123456'PASSWORDEXPIRENEVER;#修改加密规则ALTERUSER'root'@'localhost'IDENTIFIEDWITHmysql_nat......
  • MySQL储存引擎
    目录MySQL储存引擎什么是储存引擎存储引擎的类型查看表的存储引擎(查全部的表)innodb和myisam的区别物理区别逻辑区别存储引擎如何查看存储引擎设置修改已经创建的表的存储引擎企业项目案例InnoDB特性——表空间共享表空间共享表空间存储:5.7共享表,临时表共享表空间切割企业案例Inn......
  • MySQL日志管理
    目录MySQL日志管理日志简介错误日志一般查询日志二进制日志binlogbinlog的工作模式statement语句模式row行级模式mixed混合模式查看binlog查看binlog内容和导出事件介绍使用binlog恢复数据案例模拟数据模拟数据故障恢复数据binlog的刷新和删除binlog的刷新删除binlogMySQL慢查......
  • MySQL数据备份
    目录MySQL数据备份binlog存在问题binlog作用为什么要备份备份类型备份方式备份策略(每天一次全备,每小时一次增备)MySQL逻辑备份工具mysqldump所有库备份备份单个库备份时刷新binlog打点备份参数快照备份实用扩展选项额外扩展选项(很好用的)完整备份语句mysqldump的恢复(binlog日志临时......