mysql 查看数据库中所有表的行数(2)

之前写过了,如果需要查询某个数据库中所有表的行数, 可以通过information_schema.tables来统计,但是由于mysql8.0的缓存机制,导致这个数据和count(*)的结果不一致

sql 复制代码
SELECT
	TABLE_name,
	table_rows 
FROM
	information_schema.TABLES 
WHERE
	TABLE_SCHEMA IN ( 'table_data' ) 
ORDER BY
	table_rows DESC;

table_data 为所需要查询的数据库

因此我们需要使用count(*)来统计数据,但是逐一表来统计比较麻烦,下面还有一种快捷方式

首先通过information_schema.tables 来组合语句

sql 复制代码
select concat(
    'select "', 
    TABLE_name, 
    '", count(*) from ', 
    TABLE_SCHEMA, 
    '.',
    TABLE_name,
    ' union all'
) from information_schema.tables 
where TABLE_SCHEMA in ('table_data');

将输出的结果拷贝出来,将最后一行的union all 删除,就可以运行统计了。

相关推荐
wei_shuo12 小时前
KES 扩展与插件开发实战:自定义函数、触发器与第三方插件集成
数据库·kes
风中芦苇啊12 小时前
从直接生成到受控配置:新一代图表Agent的SQL安全生成范式
数据库·sql·安全
吴声子夜歌13 小时前
SQL进阶——窗口函数
数据库·sql
周杰伦的稻香13 小时前
MySQL8.0+中引入的SET_USER_ID权限迭代SUPER权限指定 DEFINER
数据库·mysql
动恰客流统计13 小时前
客流统计如何结合AI分析?从传统计数到智能决策的技术升级路径
数据库·人工智能·边缘计算
宠友信息14 小时前
多端数据互通场景下Spring Boot仿小红书源码结构设计
数据库·spring boot·redis·缓存·架构
风曦Kisaki14 小时前
#Linux数据库管理Day06:主从同步与MaxScale读写分离
linux·运维·数据库
影寂ldy14 小时前
C# try-catch 异常处理全套笔记
服务器·数据库·c#
长不胖的路人甲14 小时前
Redis 缓存的数据持久化方案讲解
数据库·redis·缓存
weixin_3975740914 小时前
框架v5多数据源让AI查遍企业数据
数据库·人工智能·oracle