如何在 MySQL 中找到包含 columnA 和 columnB 的所有表?


要查詢特定的列名稱,請使用 information_schema.columns。在這裡,我用 Id 代替 columnA,用 Name 代替 columnB −

mysql> select table_name as TableNameFromWebDatabase
   -> from information_schema.columns
   -> where column_name IN ('Id', 'Name')
   -> group by table_name
   -> having count(*) = 3;

這將產生以下輸出。以下是包含列 Id 和 Name 的表 −

+--------------------------+
| TableNameFromWebDatabase |
+--------------------------+
| student                  |
| distinctdemo             |
| secondtable              |
| groupconcatenatedemo     |
| indemo                   |
| ifnulldemo               |
| demotable211             |
| demotable212             |
| demotable223             |
| demotable233             |
| demotable251             |
| demotable255             |
+--------------------------+
12 rows in set (0.25 sec)

為了證明,讓我們檢視其中一個表的描述。以下是查詢 −

mysql> desc demotable233;

這將產生以下輸出。在這裡,您可以看到我們有 Int 和 Name 列 −

+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| Id    | int(11)     | NO   | PRI | NULL    | auto_increment |
| Name  | varchar(20) | YES  |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)

更新日期: 2020-07-08

117 次瀏覽

開啟你的職業生涯

完成課程即可獲得認證

開始
廣告