MySQLでcolumnAとcolumnBを含むすべてのテーブルを見つける方法は?
特定の列名を見つけるには、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と名前-
の表です。+--------------------------+ | 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で特定の列名を持つテーブルを見つける方法は?
列名を見つけるには、information_schema.columnsを使用します。以下は構文です- select distinct table_name from information_schema.columns where column_name like '%yourSearchValue%' and table_schema=database(); さまざまなテーブルで列名を見つけるために、上記の構文を実装しましょう。ここでは、特定の列名が「クライアント」という単語を持つテーブル名のみが必要です- mysql> select distinct table_
-
MySQLで一意の姓を持つすべてのユーザーを検索しますか?
一意の姓を持つすべてのユーザーを検索するには、GROUP BY HAVING COUNT()を使用します。 テーブルを作成しましょう- 例 mysql> create table demo76 -> ( -> firstName varchar(20), -> lastName varchar(20) -> ); Query OK, 0 rows affected (9.29 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します。 例 mysq