1. 程式人生 > >mysql的INFORMATION_SCHEMA 查詢所有庫,表資訊

mysql的INFORMATION_SCHEMA 查詢所有庫,表資訊

第一個查詢看看庫裡有多少個表,表名等
select * from INFORMATION_SCHEMA.TABLES

information_schema這張資料表儲存了MySQL伺服器所有資料庫的資訊。如資料庫名,資料庫的表,表欄的資料型別與訪問許可權等。再簡單點,這臺MySQL伺服器上,到底有哪些資料庫、各個資料庫有哪些表,每張表的欄位型別是什麼,各個資料庫要什麼許可權才能訪問,等等資訊都儲存在information_schema表裡面。

Mysql的INFORMATION_SCHEMA資料庫包含了一些表和檢視,提供了訪問資料庫元資料的方式。

元資料是關於資料的資料,如資料庫名或表名,列的資料型別,或訪問許可權等。有些時候用於表述該資訊的其他術語包括“資料詞典”和“系統目錄”。

 

下面對一些重要的資料字典表做一些說明:

SCHEMATA表:提供了關於資料庫的資訊。

TABLES表:給出了關於資料庫中的表的資訊。

COLUMNS表:給出了表中的列資訊。

STATISTICS表:給出了關於表索引的資訊。

USER_PRIVILEGES表:給出了關於全程許可權的資訊。該資訊源自mysql.user授權表。

SCHEMA_PRIVILEGES表:給出了關於方案(資料庫)許可權的資訊。該資訊來自mysql.db授權表。

TABLE_PRIVILEGES表:給出了關於表許可權的資訊。該資訊源自mysql.tables_priv授權表。

COLUMN_PRIVILEGES表:給出了關於列許可權的資訊。該資訊源自mysql.columns_priv授權表。

CHARACTER_SETS表:提供了關於可用字符集的資訊。

COLLATIONS表:提供了關於各字符集的對照資訊。

COLLATION_CHARACTER_SET_APPLICABILITY表:指明瞭可用於校對的字符集。

TABLE_CONSTRAINTS表:描述了存在約束的表。

KEY_COLUMN_USAGE表:描述了具有約束的鍵列。

ROUTINES表:提供了關於儲存子程式(儲存程式和函式)的資訊。此時,ROUTINES表不包含自定義函式(UDF)。

VIEWS表:給出了關於資料庫中的檢視的資訊。

TRIGGERS表:提供了關於觸發程式的資訊。