在須要備份數據庫裏面的數據時,咱們須要知道數據庫佔用了多少磁盤大小,能夠經過一些sql語句查詢到整個數據庫的容量,也能夠單獨查看錶所佔容量。sql
一、要查詢表所佔的容量,就是把表的數據和索引加起來就能夠了數據庫
select sum(DATA_LENGTH)+sum(INDEX_LENGTH) from information_schema.tables where table_schema='數據庫名';
上面獲取的結果是以字節爲單位的,能夠經過%1024在%1024的到M爲單位的結果。app
二、查詢全部的數據大小函數
select concat(round(sum(DATA_LENGTH/1024/1024),2),'M') from tables; -- 查詢全部的數據大小
三、查詢某個表的數據post
select concat(round(sum(DATA_LENGTH/1024/1024),2),'M') from tables where table_schema=’數據庫名’ AND table_name=’表名’;
在mysql中有一個information_schema數據庫,這個數據庫中裝的是mysql的元數據,包括數據庫信息、數據庫中表的信息等。因此要想查詢數據庫佔用磁盤的空間大小能夠通spa
過對information_schema數據庫進行操做。code
information_schema中的表主要有:orm
schemata表:這個表裏面主要是存儲在mysql中的全部的數據庫的信息blog
tables表:這個表裏存儲了全部數據庫中的表的信息,包括每一個表有多少個列等信息。
columns表:這個表存儲了全部表中的表字段信息。
statistics表:存儲了表中索引的信息。
user_privileges表:存儲了用戶的權限信息。
schema_privileges表:存儲了數據庫權限。
table_privileges表:存儲了表的權限。
column_privileges表:存儲了列的權限信息。
character_sets表:存儲了mysql能夠用的字符集的信息。
collations表:提供各個字符集的對照信息。
collation_character_set_applicability表:至關於collations表和character_sets表的前兩個字段的一個對比,記錄了字符集之間的對照信息。
table_constraints表:這個表主要是用於記錄表的描述存在約束的表和約束類型。
key_column_usage表:記錄具備約束的列。
routines表:記錄了存儲過程和函數的信息,不包含自定義的過程或函數信息。
views表:記錄了視圖信息,須要有show view權限。
triggers表:存儲了觸發器的信息,須要有super權限。