ホームページ >データベース >mysql チュートリアル >MySQL で 2 つの特定の列を含むすべてのテーブルを検索するにはどうすればよいですか?
2 つの特定の列名を検索するには、information_schema.columns を使用します。ここでは、columnA の代わりに Id、columnB の代わりに Name を使用します。 -
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)
これを証明するために、テーブルの 1 つの説明を確認してみましょう。次に、クエリ -
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)
以上がMySQL で 2 つの特定の列を含むすべてのテーブルを検索するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。