MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

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)

  1. 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_

  2. MySQLで一意の姓を持つすべてのユーザーを検索しますか?

    一意の姓を持つすべてのユーザーを検索するには、GROUP BY HAVING COUNT()を使用します。 テーブルを作成しましょう- 例 mysql> create table demo76    -> (    -> firstName varchar(20),    -> lastName varchar(20)    -> ); Query OK, 0 rows affected (9.29 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します。 例 mysq