Mysql数据库元信息查询
发布时间
阅读量:
阅读量
Mysql数据库元信息查询
一章 利用一条完整的SQL语句提取MySQL数据库系统的表及详细字段信息。其具体步骤如下:
- 首先获取MySQL命名空间下的所有库名;
- 然后针对每个库中的所有表格执行查询;
- 最后收集并汇总每张表格的基本统计参数。
在每一步骤中:
- 表及详细属性包括: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)
还没有任何评论哟~
