一、先了解下INFORMATION_SCHEMA
1、在MySQL中,把INFORMATION_SCHEMA看作是一個數據庫,確切說是信息數據庫。其中保存着關於MySQL服務器所維護的所有其他數據庫的信息。如數據庫名,數據庫的表,表欄的數據類型與訪問權 限等。在INFORMATION_SCHEMA中,有數個只讀表。它們實際上是視圖,而不是基本表,因此,你將無法看到與之相關的任何文件。
2、TABLES表:提供了關於數據庫中的表的信息(包括視圖)。詳細表述了某個表屬於哪個schema,表類型,表引擎,創建時間等信息。是show tables from schemaname的結果取之此表。
3、COLUMNS表:提供了表中的列信息。詳細表述了某張表的所有列以及每個列的信息。是show columns from schemaname.tablename的結果取之此表。
二、舉例實踐:
查看ftp數據庫內以oemp開頭的所有的表名、表數據量、表備註、字段名稱、字段類型、默認值、字段備註等;如果查整個數據庫就把ftp後全刪除。
SELECT T1.TABLE_COMMENT 表註釋, T1.TABLE_ROWS 表數據量, T2.TABLE_NAME 表名, T2.COLUMN_NAME 字段名, T2.COLUMN_TYPE 數據類型, T2.DATA_TYPE 字段類型, T2.CHARACTER_MAXIMUM_LENGTH 長度, T2.IS_NULLABLE 是否爲空, T2.COLUMN_DEFAULT 默認值, T2.COLUMN_COMMENT 字段備註 FROM INFORMATION_SCHEMA.TABLES T1 LEFT JOIN INFORMATION_SCHEMA.COLUMNS T2 ON T1.TABLE_NAME = T2.TABLE_NAME WHERE T1.TABLE_SCHEMA ='ftp' AND T1.TABLE_NAME LIKE 'oemp%' ORDER BY T1.TABLE_NAME;
導出查詢結果生成數據庫字典