摘要:MySQL版本大于5.0時,有個默認數據庫information_schema,里面存放著所有數據庫的信息(比如表名、 列名、對應權限等),這個知識點還是比較有用的,在做數據結構對比工具的時候可以使用,還可以通過這個數據庫實現跨庫查詢...
MySQL版本大于5.0時,有個默認數據庫 information_schema ,里面存放著所有數據庫的信息(比如表名、 列名、對應權限等),這個知識點還是比較有用的,在做數據結構對比工具的時候可以使用,還可以通過這個數據庫實現跨庫查詢,爆表爆列等。
獲取所有列信息(COLUMNS)
SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='數據庫名';
字段說明:
字段 | 含義 |
TABLE_CATALOG | 數據表登記目錄 |
TABLE_SCHEMA | 數據表所屬的數據庫名 |
TABLE_NAME | 表名稱 |
COLUMN_NAME | 字段名 |
ORDINAL_POSITION | 字段編號,從1開始往后排 |
COLUMN_DEFAULT | 字段默認值 |
IS_NULLABLE | 字段是否可以是NULL |
DATA_TYPE | 數據類型 |
CHARACTER_MAXIMUM_LENGTH | 字段的最大字符數 |
CHARACTER_OCTET_LENGTH | 字段的最大字節數 |
NUMERIC_PRECISION | 數字精度 |
NUMERIC_SCALE | 小數位數 |
DATETIME_PRECISION | datetime類型和SQL-92interval類型數據庫的子類型代碼 |
CHARACTER_SET_NAME | 字段字符集名稱 |
COLLATION_NAME | 字符集排序規則 |
COLUMN_TYPE | 字段類型 |
COLUMN_KEY | 索引類型 |
EXTRA | 其他信息 |
PRIVILEGES | 權限 |
COLUMN_COMMENT | 字段注釋 |
GENERATION_EXPRESSION | 組合字段的公式 |
另外還有 TABLES 表,可以查詢出每個表的詳細信息。
SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA='數據庫名';
字段說明:
字段 | 含義 |
Table_catalog | 數據表登記目錄 |
Table_schema | 數據表所屬的數據庫名 |
Table_name | 表名稱 |
Table_type | 表類型[system view|base table] |
Engine | 使用的數據庫引擎[MyISAM|CSV|InnoDB] |
Version | 版本,默認值10 |
Row_format | 行格式[Compact|Dynamic|Fixed] |
Table_rows | 表里所存多少行數據 |
Avg_row_length | 平均行長度 |
Data_length | 數據長度 |
Max_data_length | 最大數據長度 |
Index_length | 索引長度 |
Data_free | 空間碎片 |
Auto_increment | 做自增主鍵的自動增量當前值 |
Create_time | 表的創建時間 |
Update_time | 表的更新時間 |
Check_time | 表的檢查時間 |
Table_collation | 表的字符校驗編碼集 |
Checksum | 校驗和 |
Create_options | 創建選項 |
Table_comment | 表的注釋、備注 |