這類查詢很有意思,查詢某個數據庫中的表和字段的信息。通過排列組合可以總結出 4
種查詢方式。
1. 查詢數據庫下所有表名、表註釋
SELECT
TABLE_NAME AS 表名,
TABLE_COMMENT AS 表註釋
FROM
INFORMATION_SCHEMA.TABLES
WHERE
TABLE_SCHEMA = 'dms_app_dev';
2. 查詢數據庫下字典表下所有字段名、數據類型、字段註釋
SELECT
COLUMN_NAME AS 字段名,
DATA_TYPE AS 數據類型,
COLUMN_COMMENT AS 字段註釋
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_SCHEMA = 'dms_app_dev'
AND TABLE_NAME = 'dicts';
3. 查詢數據庫下所有表下所有字段名、數據類型、字段註釋
SELECT
COLUMN_NAME AS 字段名,
DATA_TYPE AS 數據類型,
COLUMN_COMMENT AS 字段註釋
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_SCHEMA = 'dms_app_dev';
4. 查詢數據庫下所有表名、表註釋和所有字段名、數據類型、字段註釋
SELECT
t.TABLE_NAME AS 表名,
t.TABLE_COMMENT AS 表註釋,
c.COLUMN_NAME AS 字段名,
c.COLUMN_TYPE AS 數據類型,
c.COLUMN_COMMENT AS 字段註釋
FROM
INFORMATION_SCHEMA.TABLES AS t,
INFORMATION_SCHEMA.COLUMNS AS c
WHERE
c.TABLE_NAME = t.TABLE_NAME
AND t.TABLE_SCHEMA = 'dms_app_dev';
原理其實也很簡單,我們在創建數據庫、表、字段的時候,MySQL
會把我們的數據詳情存儲在 information_schema
這個系統數據庫中,這樣我們就可以通過 SQL
可以簡單的查詢了,有興趣的可以看下。