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

データベース内のすべてのテーブルで特定の列を見つけますか?


これには、COLUMN_NAMEを使用し、その特定の列名でLIKEを設定します。データベース内の不明なテーブルで特定の列を見つけましょう-

mysql> SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT
   -> FROM INFORMATION_SCHEMA.COLUMNS
   -> WHERE column_name LIKE '%StudentName%'
   -> AND table_schema = 'web';

出力

これにより、次の出力が生成されます-

+-------------------+-------------+-----------+-------------+----------------+
| TABLE_NAME        | COLUMN_NAME | DATA_TYPE | IS_NULLABLE |COLUMN_DEFAULT  |
+-------------------+-------------+-----------+-------------+----------------+
| demotable215      | StudentName | varchar   | YES         | NULL           |
| demotable221      | StudentName | varchar   | YES         | NULL           |
| demotable224      | StudentName | varchar   | YES         | NULL           |
| demotable234      | StudentName | varchar   | YES         | NULL           |
| demotable269      | StudentName | varchar   | YES         | NULL           |
| DemoTable         | StudentName | varchar   | YES         | NULL           |
| DemoTable         | StudentName | varchar   | YES         | NULL           |
| DemoTable         | StudentName | varchar   | YES         | NULL           |
| DemoTable         | StudentName | varchar   | NO          | NULL           |
| DemoTable         | StudentName | varchar   | YES         | NULL           |
| DemoTable         | StudentName | json      | YES         | NULL           |
| DemoTable         | StudentName | varchar   | YES         | NULL           |
| DemoTable         | StudentName | varchar   | YES         | NULL           |
| DemoTable         | StudentName | varchar   | YES         | NULL           |
| DemoTable         | StudentName | varchar   | NO          | NULL           |
| DemoTable         | StudentName | varchar   | YES         | NULL           |
| DemoTable         | StudentName | varchar   | YES         | NULL           |
| DemoTable         | StudentName | varchar   | YES         | NULL           |
| view_DemoTable    | StudentName | varchar   | YES         | NULL           |
+-------------------+-------------+-----------+-------------+----------------+
19 rows in set (0.07 sec)

上記は、特定の列「StudentName」を持つすべてのテーブルを表示しています。


  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データベース内のすべてのテーブルを一覧表示します

    MySQLデータベース内のすべてのテーブルを一覧表示する方法を理解しましょう- データベースが作成されると、次のクエリを使用して特定のデータベースにアクセスして使用できます- クエリ mysql> USE databaseName Database changed 「USE」ステートメントにはセミコロンは必要ありません。これは「QUIT」ステートメントに似ています。セミコロンを使用しても害はありません。独自のデータベースを作成して使用することもできますが、その前に、MySQL管理者の許可が必要です。 MySQL管理者は、以下に示すコマンドを実行して権限を提供できます- mysql&