查询数据库中所有表的记录数

方法1 直接查询,方法简单,但达不到想要的效果,记录数稍微多一点,总数就偏高

use db_name;
select table_name, table_rows from information_schema.tables
where table_schema = 'db_name'

得到的结果样式为:

table_nametable_rows
table1m行
table2n行

只要数据表内记录行数一多,记录数就比我们想要的结果偏高。

方法2 拼接 select count(主键id) 语句

use information_schema;
select group_concat('select ', '"', table_name, '",', ' count(id) from ',
    TABLE_SCHEMA,
    '.',
    table_name
    separator ' union all \n') from information_schema.TABLES
where TABLE_SCHEMA = 'db_name';

可以得到拼接的查询语句

select "table1", count(id) from db_name.table1 union all 
select "table2", count(id) from db_name.table2 union all 
select "table3", count(id) from db_name.table3

结尾填上分号运行一次即可。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值