SHOW {DATABASES | SCHEMAS}
[LIKE 'pattern' | WHERE expr]
SHOW DATABASES
は、MySQL サーバーホスト上のデータベースを一覧表示します。 SHOW SCHEMAS
は SHOW DATABASES
のシノニムです。 LIKE
句 (存在する場合) は、どのデータベース名と照合するかを示します。 セクション26.55「SHOW ステートメントの拡張」で説明されているように、WHERE
句を指定すると、より一般的な条件を使用して行を選択できます。
グローバルな SHOW DATABASES
権限を持っていないかぎり、何らかの種類の権限を持っているデータベースしか表示できません。 このリストはまた、mysqlshow コマンドを使用して取得することもできます。
サーバーが --skip-show-database
オプションで起動された場合は、SHOW DATABASES
権限を持っていないかぎり、このステートメントをまったく使用できません。
MySQL はデータベースをデータディレクトリ内のディレクトリとして実装するため、このステートメントは単純に、その場所にあるディレクトリを一覧表示します。 ただし、実際のデータベースには対応しないディレクトリの名前が出力に含まれる可能性があります。
データベース情報は、INFORMATION_SCHEMA
SCHEMATA
テーブルからも入手できます。 セクション26.31「INFORMATION_SCHEMA SCHEMATA テーブル」を参照してください。
静的グローバル権限はすべてのデータベースに対する権限とみなされるため、静的グローバル権限を使用すると、ユーザーは、部分的な取消しによってデータベースレベルで制限されているデータベースを除き、SHOW DATABASES
を使用するか、INFORMATION_SCHEMA
の SCHEMATA
テーブルを調べることで、すべてのデータベース名を表示できます。