web-dev-qa-db-ja.com

MySQL Workbenchのすべてのテーブルで特定の列名を検索する方法は?

MySQL Workbenchでは、すべてのテーブルで特定の列名を検索できますか?

(右上のフィールドで検索する文字列を書き込んでも何も起こりません)。

ありがとうございました。

15
Pietro

INFORMATION_SCHEMA データベースとCOLUMNSテーブルの使用例:

SELECT 
    table_name, 
    column_name, 
    data_type,
    ordinal_position

FROM  INFORMATION_SCHEMA.COLUMNS 

WHERE table_schema = 'myDatabase'     --- the database you want to search 
  AND column_name = 'name' ;          --- or: column_name LIKE '%name%' 
22
ypercubeᵀᴹ

@ ypercube's answer (彼は+1を取得)を展開するには、テーブルが存在するデータベースがわからない場合は、次のようにします。

SELECT 
    table_schema,
    table_name, 
    column_name, 
    data_type,
    ordinal_position

FROM  INFORMATION_SCHEMA.COLUMNS 

WHERE column_name = 'name' ;          --- or: column_name LIKE '%name%' 
8
RolandoMySQLDBA

MySQL Workbench(v6.3)(Windows)の場合:

  • 右クリックanyテーブル。
  • しばらくしてから[テーブルのメンテナンス...]を左クリックします...
  • 「列」タブを左クリックします。

これは、テーブル、列などの並べ替え可能なグリッドを示しています。

  • グリッドヘッダーの[列]を左クリックすると、テーブルに関係なく、すべての列名が並べ替えられます。したがって、同じ名前の列が一緒になります。

残念ながら、ソートは安定していません。したがって、最初にテーブルでソートすると、列は同一の列名のグループ内のテーブル名の順序を保持しません。

グリッドを開くのは遅いですが、列のグループを見つけるのは高速です。

データベース全体を検索しません。

3
Andrew Dennison