1. Information_schema
information_schema是mysql的信息數據庫。通過該庫可以查看mysql下面的數據庫,表,權限等信息。在數據庫中會默認生成這個庫。information_schema其實是view視圖,並不是真實存在的表。在mysql終端可以查看所有數據庫。
mysql> show databases;
2. 包含的表
查看下面包含的表
mysql> use information_schema;
Database changed
mysql> show tables;
3. SCHEMATA
包含所有數據庫的信息
select * from SCHEMATA;
會列出所有database的信息,與 show databases;相通。
4. TABLES
information_schema.tables表用來保存數據庫中所有表的信息。
TABLE_SCHEMA: 數據庫名稱
TABLE_NAME: 表名稱
TABLE_TYPE: BASE TABLE為基本數據表,VIEW為視圖
ENGINE: 存儲引擎InnoDB
VERSION: 10
ROW_FORMAT: Compact
TABLE_ROWS: 表行數,對於InnoDB表,在SQL優化中,行計數僅是大概估計值。
AVG_ROW_LENGTH: 平均行長度
DATA_LENGTH: 數據存儲大小
MAX_DATA_LENGTH: 0
INDEX_LENGTH: 索引大小
DATA_FREE: innodb表顯示可用空間
AUTO_INCREMENT: 自增長id
CREATE_TIME: 創建時間
TABLE_COLLATION: 校對字符集gbk_chinese_ci
查詢一個表占用空間的大小
select concat(round(((INDEX_LENGTH+DATA_LENGTH)/1024/1024),2),'MB') as data from TABLES where table_schema='my_db' and table_name='my_table';
表示my_db.my_table表占用索引和數據總和的大小。
5. COLUMNS
columns表中包含所有數據庫中的字段信息。包含字段的數據庫,表,校對編碼,權限等信息
6. TRIGGERS
關於mysql觸發程序的信息。