MySQL語句查看各個數據庫占用空間的方法(附代碼)

本篇文章給大家帶來的內容是關于mysql語句查看各個數據庫占用空間的方法(附代碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

select table_schema, sum(DATA_LENGTH)+sum(INDEX_LENGTH) from information_schema.tables group by table_schema;

在需要備份數據庫里面的數據時,我們需要知道數據庫占用了多少磁盤大小,可以通過一些sql語句查詢到整個數據庫的容量,也可以單獨查看表所占容量。(推薦課程:MySQL視頻教程

1、要查詢表所占的容量,就是把表的數據和索引加起來就可以了

select?sum(DATA_LENGTH)+sum(INDEX_LENGTH)?from?information_schema.tables? where?table_schema='數據庫名';

上面獲取的結果是以字節為單位的,可以通過%1024在%1024的到M為單位的結果。

2、查詢所有的數據大小

select?concat(round(sum(DATA_LENGTH/1024/1024),2),'M')?from?tables;?--?查詢所有的數據大小

3、查詢某個表的數據

select?concat(round(sum(DATA_LENGTH/1024/1024),2),'M')?from?tables?where?table_schema=’數據庫名’?AND?table_name=’表名’;

?在mysql中有一個information_schema數據庫,這個數據庫中裝的是mysql的元數據,包括數據庫信息、數據庫中表的信息等。所以要想查詢數據庫占用磁盤的空間大小可以通

過對information_schema數據庫進行操作。

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權限。

? 版權聲明
THE END
喜歡就支持一下吧
點贊15 分享