專案發展到一定階段,資料表與欄位數量激增,當需要確認某個欄位究竟屬於哪個資料庫、哪張表時,逐個翻閱顯然不現實。MySQL 的 information_schema.COLUMNS 系統表提供了標準化的查詢入口,一條語句即可定位。
SELECT
TABLE_SCHEMA AS `資料庫`,
TABLE_NAME AS `表名`
FROM information_schema.COLUMNS
WHERE COLUMN_NAME = '目標欄位名';
TABLE_SCHEMA:資料庫名稱TABLE_NAME:資料表名稱COLUMN_NAME:欄位名稱(查詢條件)若需同時查看欄位類型、註釋等元數據,可擴展查詢:
SELECT
TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME,
DATA_TYPE, COLUMN_TYPE, COLUMN_COMMENT
FROM information_schema.COLUMNS
WHERE COLUMN_NAME LIKE '%關鍵字%';
善用系統表,讓元數據查詢不再是大海撈針。