MySQL实现查询数据库表记录数


本文整理自网络,侵删。

前言:

mysql统计一个数据库里所有表的数据量,最近在做统计想查找一个数据库里基本所有的表数据量,数据量少的通过select count再加起来也是可以的,不过表的数据有点多,不可能一个一个地查。记得在Navicat里,选择一个数据量,点击表,如图:

那么如何通过sql实现呢?在mysql里是可以查询information_schema.tables这张表的

SELECT table_rows,table_name FROM information_schema.tables  
WHERE TABLE_SCHEMA = '数据库名称'
and table_name not in ('不查询的表名称') 
ORDER BY table_rows DESC;

OK,本来还以为已经没问题了,然后还是被反馈统计不对,后来去找了资料说是对于MyISAM才是正确的统计数据,但是对于InnoDB引擎的,可能与实际值相差 40% 到 50%,所以只是一个大概的统计所以针对这种情况,要更改存储引擎,肯定是不太合适,因为InnoDB是默认的存储引擎,能支持事务外健,并发情况性能也比较好。继续找资料,正确的sql如下:

select
table_schema as '数据库',
table_name as '表名',
table_rows as '记录数',
truncate(data_length/1024/1024, 2) as '数据容量(MB)',
truncate(index_length/1024/1024, 2) as '索引容量(MB)'
from information_schema.tables
where table_schema='test'
order by table_rows desc, index_length desc;

查询结果如下:

到此这篇关于MySQL实现查询数据库表记录数的文章就介绍到这了,更多相关MySQL查询表记录数内容请搜索

更多相关Mysql内容来自木庄网络博客


标签:Mysql

相关阅读 >>

mysql 数据库 索引和事务

设计性能更优mysql数据库schema

如何在dos下打开mysql

介绍mysql进阶的第二篇文章

mysql中修改存储过程的命令是什么?

详解mysql从入门到放弃-安装

mysql日期如何转字符串

mysql优化之mysql慢查询操作介绍

如何将sql文件导入mysql

mysql怎么查询日期中的月份

更多相关阅读请进入《mysql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...