承接国内外服务器租用托管、定制开发、网站代运营、网站seo优化托管接单、网站代更新,新老站点皆可!!咨询QQ:3787320601

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

管理员 2023-07-11 08:37:45 互联网圈 4 ℃ 0 评论 2053字 收藏

前言:

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实现查询数据库表记录数

https://www.wanzijz.com/view/63219.html

X

截屏,微信识别二维码

微信号:weimawl

(点击微信号复制,添加好友)

打开微信