Home  >  Article  >  Database  >  mysql中查看数据库中所有表的记录数

mysql中查看数据库中所有表的记录数

WBOY
WBOYOriginal
2016-06-07 17:53:051531browse

本文章给各位朋友简单的介绍一下关于mysql中查看数据库中所有表的记录数实现方法,有需了的朋友可参考。

如果使用mysql的版本在5.0及以上,可以通过查询information_schema库中的tables表来获取,该表中使用table_rows记录表的行数信息。例如查看库testdb中所有表的记录数:

 代码如下 复制代码

use information_schema;

table_name,table_rows from tables
where TABLE_SCHEMA = 'testdb'
order by table_rows desc;

不过需要注意的是,对于InnoDB表,table_rows行计数仅是大概估计值。

另外一种办法还是借助information_schema库的tables表,来拼接出一个条sql语句,例如:

 代码如下 复制代码

use information_schema;

select concat(
    'select "',
    TABLE_name,
    '", count(*) from ',
    TABLE_SCHEMA,
    '.',
    TABLE_name,
    ' union all'
) from tables
where TABLE_SCHEMA='testdb';

记录一下mysql中查看所有表的记录数:
 
TABLE_SCHEMA : 名
TABLE_NAME:表名
 
ENGINE:所使用的存储引擎
TABLES_ROWS:记录数
 
DATA_LENGTH:数据大小  得到的结果是以字节为单位,除1024为K,除1048576(=1024*1024)为M
INDEX_LENGTH:索引大小

 代码如下 复制代码
use information_schema;
 
select table_schema,table_name,table_rows from tables order by table_rows desc;

 
查看指定大小:

 代码如下 复制代码
SELECT sum(DATA_LENGTH)+sum(INDEX_LENGTH) FROM information_schema.TABLES where
 
TABLE_SCHEMA='数据库名';

得到的结果是以字节为单位,除1024为K,除1048576(=1024*1024)为M

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn