MySQL查询指定数据库表名及每张表数据条数

查询近似值:

-- 查询指定数据库表名及每张表数据条数
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 列,但需注意其不准确性。

最后修改于:2025年04月03日 16:38

添加新评论