Advertisement

Mysql数据库元信息查询

阅读量:

Mysql数据库元信息查询

一章 利用一条完整的SQL语句提取MySQL数据库系统的表及详细字段信息。其具体步骤如下:

  1. 首先获取MySQL命名空间下的所有库名;
  2. 然后针对每个库中的所有表格执行查询;
  3. 最后收集并汇总每张表格的基本统计参数。
    在每一步骤中:
  • 表及详细属性包括:MySQL命名空间下的数据库名称(即库名)、表格名称(即数据存储的位置)、表格的简要描述(如创建时间等)、数据量统计(即总行数)以及主键设置情况。
  • 详细说明了以下内容:各列的命名空间位置及其所属的数据类型(如自定义或系统类型)。包括列定义(如自定义或系统类型)、索引设置情况(如是否支持唯一性约束)以及各列的实际存储属性。
  • 二、分别提取MySQL数据库表的信息与字段
      • 首先提取MySQL数据库表相关信息
      • 然后提取MySQL数据库表的字段信息

一、一条sql语句获取mysql数据库表的信息、字段信息

表的信息:数据库名称、表名、表描述、表行数、表主键

字段信息:字段名称、字段类型、字段键的类型、字段描述

在这里插入图片描述
复制代码
    select c.TABLE_SCHEMA,c.TABLE_NAME,t.TABLE_COMMENT,t.TABLE_ROWS,k.COLUMN_NAME as primarykey,c.COLUMN_NAME 
    from 
    (select TABLE_SCHEMA,TABLE_NAME,group_concat(COLUMN_NAME,':','[',DATA_TYPE,',',COLUMN_KEY,',',COLUMN_COMMENT,']' Separator '; ') as COLUMN_NAME 
    from information_schema.COLUMNS where TABLE_SCHEMA = '数据库名称' group by TABLE_NAME
    ) as c 
    inner join INFORMATION_SCHEMA.TABLES as t
    on c.TABLE_NAME=t.TABLE_NAME
    inner join INFORMATION_SCHEMA.KEY_COLUMN_USAGE as k
    on k.TABLE_NAME=t.TABLE_NAME and CONSTRAINT_NAME = 'PRIMARY'
    
    
      
      
      
      
      
      
      
      
      
    
    代码解读

二、分开获取mysql数据库表的信息和字段信息

1.先获取mysql数据库表信息

在这里插入图片描述
复制代码
    select t.TABLE_SCHEMA,t.TABLE_NAME,CONCAT_WS('.',t.TABLE_SCHEMA,t.TABLE_NAME) as newTableName,t.TABLE_COMMENT,t.TABLE_ROWS,k.COLUMN_NAME as primarykey
    from INFORMATION_SCHEMA.TABLES as t
    inner join INFORMATION_SCHEMA.KEY_COLUMN_USAGE as k
    on k.TABLE_NAME=t.TABLE_NAME and CONSTRAINT_NAME = 'PRIMARY' and t.TABLE_SCHEMA = '数据库名称'
    
    
      
      
      
      
    
    代码解读

2.再获取mysql数据库表字段信息

在这里插入图片描述
复制代码
    select TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME,DATA_TYPE,COLUMN_KEY,COLUMN_COMMENT 
    from information_schema.COLUMNS 
    where TABLE_SCHEMA = '数据库名称'
    
    
      
      
      
    
    代码解读

全部评论 (0)

还没有任何评论哟~