如何在 MySQL 中查詢包含兩個特定列的所有表?
要查詢兩個特定的列名,請使用 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)
廣告