关键词:统计MYSQL某个数据库的数据总数 - 总行数 - 数据量 - 千万级 - 百万计 - 数据库有多少行 - 数据库有多大,information_schema,TABLE_ROWS
统计MYSQL某个库的总数据量 - 千万级etc
约定
目标数据库的库名叫“xxxxxxxxxxxxxxxxx”,里面有好多的表,要求统计一下所有的表的行数的总数。
方法
所有的表的行数的总数:
use information_schema;
select TABLE_NAME, TABLE_ROWS from tables where TABLE_SCHEMA = 'xxxxxxxxxxxxxxxxx';
select sum(TABLE_ROWS) from tables where TABLE_SCHEMA = 'xxxxxxxxxxxxxxxxx';
(以上的操作请照打,请自行把数据库名字改一下,文中使用“xxxxxxxxxxxxxxxxx”做例子)
查询单个库中所有表磁盘占用大小的SQL语句:
select TABLE_NAME,concat(data_length/1024/1024,' MB') as data_size from information_schema.tables where TABLE_SCHEMA = 'xxxxxxxxxxxxxxxxx' order by data_size DESC;
(要将xxxxxxxxx修改成目标数据库名字)
说明
隐藏的Mysql系统级数据库“information_schema”默认存在。
information_schema这张数据表保存了MySQL服务器所有数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。再简单点,这台MySQL服务器上,到底有哪些数据库、各个数据库有哪些表,每张表的字段类型是什么,各个数据库要什么权限才能访问,等等信息都保存在information_schema表里面。