如何利用 MySQL 辨識所有資料表中存在的欄位?


如要辨識欄位名稱,請在 MySQL 中使用 INFORMATION_SCHEMA.COLUMNS。以下是語法 −

select table_name,column_name
from INFORMATION_SCHEMA.COLUMNS
where table_schema = SCHEMA()
andcolumn_name='anyColumnName';

讓我們執行上述查詢,以辨識所有資料表中存在的欄位。此處,我們正在查詢 EmployeeAge 欄位是否存在 −

mysql> select table_name,column_name
   FROM INFORMATION_SCHEMA.COLUMNS
   WHERE table_schema = SCHEMA()
   AND column_name='EmployeeAge';

這將產生以下輸出,其中包含帶有特定列“EmployeeAge”的資料表 −

+---------------+-------------+
| TABLE_NAME    | COLUMN_NAME |
+---------------+-------------+
| demotable1153 | EmployeeAge |
| demotable1297 | EmployeeAge |
| demotable1303 | EmployeeAge |
| demotable1328 | EmployeeAge |
| demotable1378 | EmployeeAge |
| demotable1530 | EmployeeAge |
| demotable1559 | EmployeeAge |
| demotable1586 | EmployeeAge |
| demotable1798 | EmployeeAge |
| demotable1901 | EmployeeAge |
| demotable511  | EmployeeAge |
| demotable912  | EmployeeAge |
+---------------+-------------+
12 rows in set (0.00 sec)

為了證明此點,讓我們檢查上述任一資料表的說明 −

mysql> desc demotable1153;

這將產生以下輸出,其中包含 demotable1153 中 EmployeeAge 欄位的存在 −

+--------------+-------------+------+-----+---------+----------------+
| Field        | Type        | Null | Key | Default | Extra          |
+--------------+-------------+------+-----+---------+----------------+
| EmployeeId   | int(11)     | NO   | PRI | NULL    | auto_increment |
| EmployeeName | varchar(40) | YES  | MUL | NULL    |                |
| EmployeeAge  | int(11)     | YES  |     | NULL    |                |
+--------------+-------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

更新於: 2019 年 12 月 31 日

112 次瀏覽

助你職業更上一層樓

透過完成本課程獲得認證

開始
廣告
© . All rights reserved.