PRESTOで必要なテーブルをワイルドカード指定で検索する方法


テーブルを名称から検索する

SELECT  
  CONCAT(table_schema, '.', table_name) AS DB_TABLE_NAME
FROM
(
  SELECT 
    DISTINCT table_schema, table_name
  FROM
    information_schema.tables
  WHERE
    table_schema LIKE '%scheme%'  -- ここに検索対象のschemeを指定する
  AND
    table_name LIKE '%table%'  -- ここに検索したいテーブル名称を指定する
)
;

出力結果例

DB_TABLE_NAME
scheme.table1
scheme.table2

カラム名が存在するテーブルをすべて検索する

SELECT 
  CONCAT(table_schema, '.', table_name) AS DB_TABLE_NAME
  , column_name
  , comment
FROM
(
  SELECT
    DISTINCT table_schema, table_name, column_name, comment
  FROM 
    information_schema.columns
  WHERE
    table_schema LIKE '%scheme%'  -- ここに検索対象のschemeを指定する
  AND
    column_name LIKE '%column%'  -- ここに検索対象のcolumnを指定する
)
; 

出力結果例

DB_TABLE_NAME column_name comment
scheme.table1  X_column hello
scheme.table2  column_name hi!
scheme.table3  column_id good morning