mysql查询所有表的数据量(MySQL准确和模糊两种方式统计所有表的记录数)

 2023-08-13  阅读 114  评论 0

摘要:1、通过 information_schema.TABLES系统表,统计TABLE_ROWS,可以根据TABLE_SCHEMA筛选具体的库,由于数据库引擎的原因,这只是一个模糊查询:SELECT`information_schema`.`tables`.`TABLE_NAME` AS `TABLE_

1、通过 information_schema.TABLES系统表,统计TABLE_ROWS,可以根据TABLE_SCHEMA筛选具体的库,由于数据库引擎的原因,这只是一个模糊查询:

SELECT `information_schema`.`tables`.`TABLE_NAME` AS `TABLE_NAME`, `information_schema`.`tables`.`TABLE_ROWS` AS `TABLE_ROWS`, `information_schema`.`tables`.`TABLE_SCHEMA` AS `TABLE_SCHEMA` FROM `information_schema`.`tables` WHERE ( `information_schema`.`tables`.`TABLE_SCHEMA` = 'test' ) ORDER BY `information_schema`.`tables`.`TABLE_ROWS` DESC

查询结果展示如下图:

mysql查询所有表的数据量(MySQL准确和模糊两种方式统计所有表的记录数)(1)

查询结果


2、可以巧妙利用concat()这个方法进行拼接sql查询语句,从而达到精准查询各表记录数。

SELECT concat( 'select "', TABLE_name, '" as 表名 , count(*) as 记录数 from ', TABLE_SCHEMA, '.', TABLE_name, ' union all' ) FROM information_schema. TABLES WHERE TABLE_SCHEMA = 'test';

拼接结果如下:

mysql查询所有表的数据量(MySQL准确和模糊两种方式统计所有表的记录数)(2)

拼接结果

注意:需要删除最后一个union all 哟

查询结果如下:

mysql查询所有表的数据量(MySQL准确和模糊两种方式统计所有表的记录数)(3)

查询结果

,

版权声明:xxxxxxxxx;

原文链接:http://cn.tdroid.net/ce8b1Cz0DAAsN.html

发表评论:

管理员

  • 内容269554
  • 积分0
  • 金币0
关于我们
lecms主程序为免费提供使用,使用者不得将本系统应用于任何形式的非法用途,由此产生的一切法律风险,需由使用者自行承担,与本站和开发者无关。一旦使用lecms,表示您即承认您已阅读、理解并同意受此条款的约束,并遵守所有相应法律和法规。
联系方式
电话:
地址:广东省中山市
Email:
注册登录
注册帐号
登录帐号

Copyright © 2022 太卓开发网 Inc. 保留所有权利。 泰达科技网易库网

页面耗时0.1396秒, 内存占用1.33 MB, 访问数据库18次