查询近似值:
-- 查询指定数据库表名及每张表数据条数
SELECT
TABLE_NAME AS 'Table',
TABLE_ROWS AS 'Rows'
FROM
INFORMATION_SCHEMA.TABLES
WHERE
TABLE_SCHEMA = 'mydb';
注意:INFORMATION_SCHEMA.TABLES表中的TABLE_ROWS 列只是近似值,而非精确值;
查询精确值(动态生成查询SQL):
SELECT
CONCAT( 'SELECT \'', TABLE_NAME, '\' AS Table_Name, COUNT(*) AS Rows FROM mytest.', TABLE_NAME, ';' ) AS QuerySQL
FROM
INFORMATION_SCHEMA.TABLES
WHERE
TABLE_SCHEMA = 'mytest';
生成sql后,再批量执行统计即可;
说明:
如果需要精确的记录数,推荐使用 COUNT(*) 方法。
如果需要快速获取近似值,可以依赖 INFORMATION_SCHEMA.TABLES 的 TABLE_ROWS 列,但需注意其不准确性。