首页 > 数据库 > MySQL > 正文

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

2024-07-24 12:38:09
字体:
来源:转载
供稿:网友

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

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

  1. use information_schema; 
  2. --Vevb.com 
  3. select table_name,table_rows from tables 
  4. where TABLE_SCHEMA = 'testdb' 
  5. order by table_rows desc

不过需要注意的是,对于InnoDB表,table_rows行计数仅是大概估计值,另外一种办法还是借助information_schema库的tables表,来拼接出一个条sql语句,代码如下:

  1. use information_schema; 
  2.  
  3. select concat( 
  4.     'select "'
  5.     TABLE_name, 
  6.     '", count(*) from '
  7.     TABLE_SCHEMA, 
  8.     '.'
  9.     TABLE_name, 
  10.     ' union all' 
  11. from tables 
  12. where TABLE_SCHEMA='testdb'

记录一下mysql中查看所有表的记录数:

TABLE_SCHEMA:数据库名 

TABLE_NAME:表名 

ENGINE:所使用的存储引擎

TABLES_ROWS:记录数 

DATA_LENGTH:数据大小  得到的结果是以字节为单位,除1024为K,除1048576(=1024*1024)为M 

INDEX_LENGTH:索引大小

实例代码如下:

  1. use information_schema;  
  2.  
  3. 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.

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表