admin管理员组

文章数量:1639189

MySQL的information_schema库一些用法

MySQL中有一个名为 information_schema 的数据库,在该库中有一个 TABLES 表,这个表主要字段分别是:

TABLE_SCHEMA : 数据库名,

TABLE_NAME:表名,

ENGINE:所使用的存储引擎,

TABLES_ROWS:记录数,

DATA_LENGTH:数据大小,

INDEX_LENGTH:索引大小

统计数据主要使用的就是这张表了。

1.查询数据库表数量

-- 查询MySQL服务中所有数据库及其表数量
 SELECT table_schema as 数据库名称 , COUNT(*) as 表数量
 FROM information_schema.TABLES    
 GROUP BY table_schema;

2.查询指定数据库及其表数量

SELECT table_schema as 库名 , count(*) as 表数量
 FROM information_schema.TABLES  
 where table_schema = 'smart-om-file'

3.查询某个表中有多少字段

-- 查询某个表中有多少字段
SELECT COUNT(*) 字段数量
FROM information_schema. COLUMNS 
WHERE table_schema = 'smart-om-file' 
AND table_name = 'fs_category';

4.查询某个数据库中所有表共有多少字段

-- 查询某个数据库中所有表共有多少字段
SELECT COUNT(column_name) as 总字段量
FROM information_schema.COLUMNS 
WHERE TABLE_SCHEMA = 'smart-om-file';

5. 查询某数据库中所有表、字段、字段类型、注释等信息

-- 查询某数据库中所有表、字段、字段类型、注释等信息
SELECT TABLE_NAME 表名, column_name 字段名, DATA_TYPE 数据类型, column_comment 注释
FROM information_schema.COLUMNS 
WHERE TABLE_SCHEMA = 'smart-om-file';

6.统计某数据库中每个表的数据量

-- 统计某数据库中每个表的数据量
SELECT TABLE_NAME as 表名, 
(DATA_LENGTH/1024/1024) as 数据大小_兆 ,
(INDEX_LENGTH/1024/1024) as 索引数据大小_兆,
((DATA_LENGTH+INDEX_LENGTH)/1024/1024) as 总数据大小_兆,
TABLE_ROWS as 总数据条数
FROM TABLES 
WHERE TABLE_SCHEMA = 'smart-om-file';

7.查询某数据库总数据大小

-- 查询某数据库总数据大小
SELECT (sum(DATA_LENGTH)/1024/1024) as 总数据量_单位M 
from `TABLES` 
WHERE TABLE_SCHEMA = 'smart-om-file';

8.查询某数据库中每张表数据条数

-- 查询某数据库中每张表数据条数
select table_name as 表名 , table_rows as 数据条数
from tables 
where TABLE_SCHEMA = 'smart-om-file' 

9.查询某数据库内所有表总数据条数

-- 查询某数据库内所有表总数据条数
SELECT sum(table_rows) as 总数据条数
from tables 
where TABLE_SCHEMA = 'smart-om-file' 

本文标签: mysqlinformationschema