數據信息在information_schema數據庫中
統計整個數據庫佔用空間數:
select concat(round(sum((DATA_LENGTH+INDEX_LENGTH)/1024/1024),2),'M') from tables;
統計單個數據庫及表佔用空間數
select concat(round(sum((DATA_LENGTH+INDEX_LENGTH)/1024/1024),2),'M') from tables where table_schema='collect_data' AND table_name='l_comm';
統計單個數據庫佔用空間數(按表排列)
select table_name,round(sum((DATA_LENGTH+INDEX_LENGTH)/1024/1024),2) as datasize from tables where table_schema='collect_data' group by table_name order by datasize desc;
information_schema中的表主要有:
schemata表:這個表裏面主要是存儲在mysql中的所有的數據庫的信息
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權限。