Mysql元信息系統表詳解

Mysql 元數據庫 information_schema

information_schema是一個元數據庫。它就像物業公司的信息庫,對管理的每棟大廈有多少電梯、電梯型號、每個房間的長寬高等等瞭如指掌。 

常見的元信息表

  1. SCHEMATA

提供數據庫信息,有哪些數據庫,字符集是GBK還是UTF-8等等。常用字段:

字段名

含義

備註

SCHEMA_NAME

數據庫名

 

DEFAULT_CHARACTER_SET_NAME

字符集

 

DEFAULT_COLLATION_NAME

排序規則

 

 

  1. TABLES

提供表的信息,數據庫有哪些表,是什麼存儲引擎等等。常用字段:

字段名

含義

備註

SCHEMA_NAME

數據庫名

 

TABLE_NAME

表名

 

TABLE_TYPE

表的類型

類型有BASE TABLE、VIEW、SYSTEM VIEW

ENGINE

存儲引擎

 

CREATE_TIME

建表時間

 

 

  1. COLUMNS 

提供字段的信息,有哪些字段字段類型是什麼等等。常用字段:

字段名

含義

備註

SCHEMA_NAME

數據庫名

 

TABLE_NAME

表名

 

COLUMN_NAME

字段名

 

COLUMN_TYPE

字段類型

如int(10),varchar(250)

等同命令:SHOW COLUMNS 或者 desc tctest.emp 看emp表的具體字段。

  1. STATISTICS 

這張表的單詞是統計的意思,但是卻是索引的信息,真奇怪。常用字段:

字段名

含義

備註

SCHEMA_NAME

數據庫名

 

TABLE_NAME

表名

 

INDEX_SCHEMA

也是數據庫名

 

INDEX_NAME

索引名

 

COLUMN_NAME

字段名

 

INDEX_TYPE

索引類型

一般是BTREE

等同命令:SHOW INDEX

  1. TABLE_CONSTRAINTS 

提供約束情況,我們想看看錶有哪些約束?約束指的是唯一性約束、主鍵約束、外鍵約束。常用字段:

字段名

含義

備註

CONSTRAINT_SCHEMA

數據庫名

 

CONSTRAINT_NAME

約束名

 

TABLE_SCHEMA

也是數據庫名

 

TABLE_NAME

表名

 

CONSTRAINT_TYPE

約束類型

UNIQUE、PRIMARY KEY、FOREIGN KEY

唯一約束和主鍵約束,我們在前面的索引中一樣可以查到。

  1. KEY_COLUMN_USAGE 

有STATISTICS和TABLE_CONSTRAINTS表,爲什麼還需要KEY_COLUMN_USAGE? 
因爲外鍵時沒有指出參考的是哪張表的哪個字段!常用字段:

字段名

含義

備註

CONSTRAINT_SCHEMA

數據庫名

 

CONSTRAINT_NAME

約束名

PRIMARY或列名或外鍵名

TABLE_SCHEMA

也是數據庫名

 

TABLE_NAME

表名

 

COLUMN_NAME

列名

 

REFERENCED_TABLE_SCHEMA

參考的數據庫

 

REFERENCED_TABLE_NAME

參考的表

 

REFERENCED_COLUMN_NAME

參考的列

 

相比前面兩個,KEY_COLUMN_USAGE這個表的信息是最全的。包括主鍵、外鍵、唯一約束。

  1. ROUTINES 

routines是程序的意思,在MySQL當然指的是函數和存儲過程

字段名

含義

備註

SPECIFIC_NAME

程序名

 

ROUTINE_SCHEMA

數據庫名

 

ROUTINE_NAME

程序名

 

ROUTINE_TYPE

程序類型

PROCEDURE或FUNCTION

ROUTINE_BODY

函數體

好像都是SQL

ROUTINE_DEFINITION

具體的程序語句

 

  1. VIEWS 

查詢數據庫下所有的視圖

字段名

含義

備註

TABLE_SCHEMA

數據庫名

 

TABLE_NAME

表名

 

VIEW_DEFINITION

視圖定義語句

 

  1. TRIGGERS 

查詢所有的觸發器

字段名

含義

備註

TRIGGER_SCHEMA

數據庫名

 

TRIGGER_NAME

觸發器名

 

EVENT_OBJECT_SCHEMA

觸發的數據庫

 

EVENT_OBJECT_TABLE

觸發的表

 

ACTION_STATEMENT

觸發的語句

 

ACTION_TIMING

觸發時機

BEFORE或AFTER

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章