スキーマはデータベースなので、SCHEMATA
テーブルはデータベースに関する情報を提供します。
SCHEMATA
テーブルには、次のカラムがあります:
-
CATALOG_NAME
スキーマが属するカタログの名前。 この値は常に
def
です。 -
SCHEMA_NAME
スキーマの名前。
-
DEFAULT_CHARACTER_SET_NAME
スキーマのデフォルトの文字セット。
-
DEFAULT_COLLATION_NAME
スキーマのデフォルトの照合。
-
SQL_PATH
この値は常に
NULL
です。 -
DEFAULT_ENCRYPTION
スキーマのデフォルトの暗号化。 このカラムは、MySQL 8.0.16 で追加されました。
スキーマ名は、SHOW DATABASES
ステートメントからも使用できます。 セクション13.7.7.14「SHOW DATABASES ステートメント」を参照してください。 次のステートメントは同等です。
SELECT SCHEMA_NAME AS `Database`
FROM INFORMATION_SCHEMA.SCHEMATA
[WHERE SCHEMA_NAME LIKE 'wild']
SHOW DATABASES
[LIKE 'wild']
グローバルな SHOW DATABASES
権限を持っていないかぎり、何らかの種類の権限を持っているデータベースしか表示できません。
静的グローバル権限はすべてのデータベースに対する権限とみなされるため、静的グローバル権限を使用すると、ユーザーは、部分的な取消しによってデータベースレベルで制限されているデータベースを除き、SHOW DATABASES
を使用するか、INFORMATION_SCHEMA
の SCHEMATA
テーブルを調べることで、すべてのデータベース名を表示できます。
メモ
SCHEMATA_EXTENSIONS
テーブルは、スキーマオプションに関する情報でSCHEMATA
テーブルを拡張します。