本文章给各位朋友简单的介绍一下关于mysql中查看数据库中所有表的记录数实现方法,有需了的朋友可参考.
如果使用mysql的版本在5.0及以上,可以通过查询information_schema库中的tables表来获取,该表中使用table_rows记录表的行数信息,例如查看库testdb中所有表的记录数,代码如下:
- useinformation_schema;
- --phpfensi.com
- selecttable_name,table_rowsfromtables
- whereTABLE_SCHEMA='testdb'
- orderbytable_rowsdesc;
不过需要注意的是,对于InnoDB表,table_rows行计数仅是大概估计值,另外一种办法还是借助information_schema库的tables表,来拼接出一个条sql语句,代码如下:
- useinformation_schema;
- selectconcat(
- 'select"',
- TABLE_name,
- '",count(*)from',
- TABLE_SCHEMA,
- '.',
- TABLE_name,
- 'unionall'
- )fromtables
- whereTABLE_SCHEMA='testdb';
记录一下mysql中查看所有表的记录数:
TABLE_SCHEMA:数据库名
TABLE_NAME:表名
ENGINE:所使用的存储引擎
TABLES_ROWS:记录数
DATA_LENGTH:数据大小 得到的结果是以字节为单位,除1024为K,除1048576(=1024*1024)为M
INDEX_LENGTH:索引大小
实例代码如下:
- useinformation_schema;
- selecttable_schema,table_name,table_rowsfromtablesorderbytable_rowsdesc;
查看指定数据库大小,代码如下:
SELECT sum(DATA_LENGTH)+sum(INDEX_LENGTH) FROM information_schema.TABLES whereTABLE_SCHEMA='数据库名';
得到的结果是以字节为单位,除1024为K,除1048576(=1024*1024)为M.