MySQL通過SHOW TABLE STATUS查看庫中所有表的具體信息


有時候我們想看下指定庫下所有表的使用情況,比如,查詢表的Table大小,什么時候創建的,數據最近被更新的時間(即最近一筆insert/update/delete的時間)。這些信息對我們進行庫表維護很有作用。

1.查詢語法

SHOW TABLE STATUS
    [{FROM | IN} db_name]
    [LIKE 'pattern' | WHERE expr]

2.查詢語句說明

{FROM | IN} db_name, 可選項,表示查詢哪個數據庫下面的表信息。
LIKE 'pattern' | WHERE expr ,可選項,可指定符合條件的表;LIKE 'pattern' 可指定表名; WHERE expr,可通過 返回輸出字段like來指定符合條件的表名。

不帶任何參數,表示查詢的是當前庫中,所以表的具體信息。
例如,以下語句為查詢當前庫中所以表大小為
16384的表信息。
SHOW TABLE STATUS  where Data_length like 16384;

此語句返回信息如下圖:

3.查詢結果中各列的說明

返回列 說明
Name 表名稱
Engine 表的存儲引擎
Version 版本
Row_format 行格式
Rows 表中的行數。對於非事務性表,這個值是精確的,對於事務性引擎,這個值通常是估算的。
Avg_row_length 平均每行的大下(字節)
Data_length 表的數據量(單位:字節)
Max_data_length 表可以容納的最大數據量
Index_length 索引占用磁盤的空間大小
Data_free 標識已分配,但現在未使用的空間,並且包含了已被刪除行的空間。
Auto_increment 下一個Auto_increment的值
Create_time 表的創建時間
Update_time 表的最近更新時間
Check_time 最近一次使用 check table 或myisamchk工具檢查表的時間
Collation 表的字符集和字符排序規則
Checksum 如果啟用,則對整個表的內容計算時的校驗和
Create_options 表創建時的其它
Comment 表在創建是添加的注釋說明
 
4.通過系統數據庫查詢

其實我們也可以通過information_schema數據庫下面的tables表去查詢表的具體信息。查詢結果和上面的信息差不多。例如我們查詢 dbtest 數據庫下面的表信息
select * from information_schema.tables where TABLE_SCHEMA='dbtest' \G;

  顯示結果如下:

 

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM