项目上线前,总会对数据库整理成文档,下面是我整理的一些用于数据库表结构统计的一些相关查询,希望对大家有所帮助
-- 查询数据中表名称以及注释
select table_name,case when TABLE_COMMENT ='' then '无' else TABLE_COMMENT end as TABLE_COMMENT from information_schema.tables where TABLE_SCHEMA='数据库' AND table_name = '数据表';
-- 查询数据中表名以及字段名
select TABLE_NAME,column_name from information_schema.COLUMNS where TABLE_SCHEMA='数据库' and table_name ='数据表';
-- 查询数据中表名以及字段个数
select table_name,count(*) from information_schema.`COLUMNS` where TABLE_SCHEMA='数据库' and table_name ='数据表';
-- 查询数据中字段个数
select sum(table_rows) from information_schema.tables where TABLE_SCHEMA='数据库' AND table_name = '数据表';
-- 查询数据中表名、表条数、表内存
SELECT TABLE_NAME,TABLE_ROWS,concat(round((DATA_LENGTH+INDEX_LENGTH)/1024/1024,2), 'MB') as data FROM information_schema.tables WHERE TABLE_SCHEMA='数据库';
-- 查询数据中表总内存
SELECT concat(sum(round((DATA_LENGTH+INDEX_LENGTH)/1024/1024,2)), 'MB') as data FROM information_schema.tables WHERE TABLE_SCHEMA='数据库';
-- 查询数据中表名、字段名、字段类型、字段长度、是否主键、是否为空
SELECT TABLE_NAME, column_name, DATA_TYPE, column_comment,column_type,CASE COLUMN_KEY WHEN 'PRI' THEN '是' ELSE '否' END, CASE IS_NULLABLE WHEN 'yes' THEN '否' WHEN 'no' THEN '是' END AS notnull FROM information_schema. COLUMNS WHERE TABLE_SCHEMA = '数据库' AND table_name = '数据表';
where 后面的查询语句可以根据自己的需求随意更改