找到MySQL中的information_schema表,这张表记录了所有数据库中表的信息,主要字段含义如下:
TABLE_SCHEMA : 数据库名
TABLE_NAME:表名
ENGINE:所使用的存储引擎
TABLES_ROWS:记录数
DATA_LENGTH:数据大小
INDEX_LENGTH:索引大小
如果需要查询所有数据库占用空间大小只需要执行SQL命令:
mysql> use information_schema
Database changed
mysql> SELECT sum(DATA_LENGTH+INDEX_LENGTH) FROM TABLES;
+-------------------------------+
| sum(DATA_LENGTH+INDEX_LENGTH) |
+-------------------------------+
| 683993 |
+-------------------------------+
1 row in set (0.00 sec)
大小是字节数 如果想修改为KB可以执行:
SELECT sum(DATA_LENGTH+INDEX_LENGTH)/1024 FROM TABLES;
如果修改为MB应该也没问题了吧
如果需要查询一个数据库所有表的大小可以执行:
SELECT sum(DATA_LENGTH+INDEX_LENGTH) FROM TABLES WHERE TABLE_SCHEMA='数据库名'
想查询某张表呢?相信你早就想到了。