1. 程式人生 > >mysql資料庫中的information_schema資料庫詳解

mysql資料庫中的information_schema資料庫詳解

mysql 資料庫在安裝完成後,有一個自帶的資料庫,  information_schema

這個資料庫存放的是資料庫和資料表的元資訊。

該資料庫下有一張表叫schemata表。

這個表記錄的是mysql上所有的資料庫資訊。

實際上我們使用的show databases 命令就是來自於這個表。現在筆者演示一下這個命令


我們可以看到在SCHEMA_NAME這個欄位展示了筆者mysql下的所有資料庫

在information_schema這個資料庫下還有一張表叫tables.

裡面記錄了各個資料庫裡擁有哪些表。


information_schema資料庫表說明:


SCHEMATA表:提供了當前mysql例項中所有資料庫的資訊。是show databases的結果取之此表。


TABLES表:提供了關於資料庫中的表的資訊(包括檢視)。詳細表述了某個表屬於哪個schema,表型別,表引擎,建立時間等資訊。是show tables from schemaname的結果取之此表。


COLUMNS表:提供了表中的列資訊。詳細表述了某張表的所有列以及每個列的資訊。是show columns from schemaname.tablename的結果取之此表。


STATISTICS表:提供了關於表索引的資訊。是show index from schemaname.tablename的結果取之此表。


USER_PRIVILEGES(使用者許可權)表:給出了關於全程許可權的資訊。該資訊源自mysql.user授權表。是非標準表。


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


TABLE_PRIVILEGES(表許可權)表:給出了關於表許可權的資訊。該資訊源自mysql.tables_priv授權表。是非標準表。


COLUMN_PRIVILEGES(列許可權)表:給出了關於列許可權的資訊。該資訊源自mysql.columns_priv授權表。是非標準表。


CHARACTER_SETS(字符集)表:提供了mysql例項可用字符集的資訊。是SHOW CHARACTER SET結果集取之此表。


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


COLLATION_CHARACTER_SET_APPLICABILITY表:指明瞭可用於校對的字符集。這些列等效於SHOW COLLATION的前兩個顯示欄位。


TABLE_CONSTRAINTS表:描述了存在約束的表。以及表的約束型別。


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


ROUTINES表:提供了關於儲存子程式(儲存程式和函式)的資訊。此時,ROUTINES表不包含自定義函式(UDF)。名為“mysql.proc name”的列指明瞭對應於INFORMATION_SCHEMA.ROUTINES表的mysql.proc表列。


VIEWS表:給出了關於資料庫中的檢視的資訊。需要有show views許可權,否則無法檢視檢視資訊。


TRIGGERS表:提供了關於觸發程式的資訊。必須有super許可權才能檢視該表