>  기사  >  데이터 베이스  >  mysql中查看数据库中所有表的记录数

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

WBOY
WBOY원래의
2016-06-07 17:53:051550검색

本文章给各位朋友简单的介绍一下关于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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.