mysql查询所有表的数据量(MySQL准确和模糊两种方式统计所有表的记录数)
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
查询结果展示如下图:
查询结果
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';
拼接结果如下:
拼接结果
注意:需要删除最后一个union all 哟
查询结果如下:
查询结果
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com