查看某个数据库中所有表的空间与行数统计
SELECT TABLE_NAME AS `表名`,TABLE_ROWS AS `行数`,ROUND(DATA_LENGTH / 1024 / 1024, 2) AS `数据大小(MB)`,ROUND(INDEX_LENGTH / 1024 / 1024, 2) AS `索引大小(MB)`,ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024, 2) AS `总占用空间(MB)`,ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024 / 1024, 2) AS `总占用空间(GB)`
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'your_database_name' -- 替换为你的数据库名
ORDER BY (DATA_LENGTH + INDEX_LENGTH) DESC;
执行结果
查看某个数据库总空间占用情况
SELECT TABLE_SCHEMA AS `数据库名`,SUM(TABLE_ROWS) AS `总行数`,ROUND(SUM(DATA_LENGTH) / 1024 / 1024, 2) AS `数据总大小(MB)`,ROUND(SUM(INDEX_LENGTH) / 1024 / 1024, 2) AS `索引总大小(MB)`,ROUND(SUM(DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024, 2) AS `总占用空间(MB)`,ROUND(SUM(DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024 / 1024, 2) AS `总占用空间(GB)`
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'your_database_name'
GROUP BY TABLE_SCHEMA;
执行结果