INFORMATION_SCHEMA (または information_schema) は、データベースオブジェクトのメタデータに対する、ある程度標準化されたDBMS 非依存のビューを提供するシステムデータベースです。INFORMATION_SCHEMA のビューは、通常のシステムテーブルと比べると一般に機能が限定的ですが、ツールはこれらを利用して、DBMS をまたいで基本的な情報を取得できます。INFORMATION_SCHEMA のビューの構造と内容は、後方互換性を維持しながら発展していくことが想定されています。つまり、新しい機能のみが追加され、既存の機能は変更または削除されません。内部実装の観点では、INFORMATION_SCHEMA のビューは通常、system.columns、system.databases、system.tables などの通常のシステムテーブルに対応付けられています。
INFORMATION_SCHEMA には、次のビューが含まれます。
他のデータベースとの互換性のため、INFORMATION_SCHEMA.columns のような大文字と小文字を区別しない同等のビューも提供されています。同様に、これらのビュー内のすべてのカラムについても、小文字 (たとえば table_name) と大文字 (TABLE_NAME) の両方のバリアントが提供されています。
COLUMNS
NULL) ものの、標準上は必要とされるカラムが含まれます。
カラム:
table_catalog(String) — 現在のところ未使用です。table_schema(String) — 現在のところ未使用です。table_name(String) — 現在のところ未使用です。non_unique(Int32) — 現在のところ未使用です。index_schema(String) — 現在のところ未使用です。index_name(Nullable(String)) — 現在のところ未使用です。seq_in_index(UInt32) — 現在のところ未使用です。column_name(Nullable(String)) — 現在のところ未使用です。collation(Nullable(String)) — 現在のところ未使用です。cardinality(Nullable(Int64)) — 現在のところ未使用です。sub_part(Nullable(Int64)) — 現在のところ未使用です。packed(Nullable(String)) — 現在のところ未使用です。nullable(String) — 現在のところ未使用です。index_type(String) — 現在のところ未使用です。comment(String) — 現在のところ未使用です。index_comment(String) — 現在のところ未使用です。is_visible(String) — 現在のところ未使用です。expression(Nullable(String)) — 現在のところ未使用です。
Query
Response
SCHEMATA
NULL) ものの、標準上必要なカラムが含まれます。
カラム:
catalog_name(String) — データベース名。schema_name(String) — データベース名。schema_owner(String) — スキーマ所有者の名前。常に'default'。default_character_set_catalog(Nullable(String)) —NULL。未サポートです。default_character_set_schema(Nullable(String)) —NULL。未サポートです。default_character_set_name(Nullable(String)) —NULL。未サポートです。sql_path(Nullable(String)) —NULL。未サポートです。
Query
Response
TABLES
table_catalog(String) — テーブルが存在するデータベースの名前。table_schema(String) — テーブルが存在するデータベースの名前。table_name(String) — テーブル名。table_type(String) — テーブルの種類。設定可能な値:BASE TABLEVIEWFOREIGN TABLELOCAL TEMPORARYSYSTEM VIEW
table_rows(Nullable(UInt64)) — 行の総数。判定できない場合は NULL。data_length(Nullable(UInt64)) — ディスク上のデータのサイズ。判定できない場合は NULL。index_length(Nullable(UInt64)) — 主キー、セカンダリ索引、およびすべてのマークの合計サイズ。table_collation(Nullable(String)) — テーブルのデフォルトの照合順序。常にutf8mb4_0900_ai_ciです。table_comment(Nullable(String)) — テーブル作成時に使用されるコメント。
Query
Response
VIEWS
table_catalog(String) — テーブルが存在するデータベースの名前。table_schema(String) — テーブルが存在するデータベースの名前。table_name(String) — テーブル名。view_definition(String) — ビューのSELECTクエリ。check_option(String) —NONE、チェックは行われません。is_updatable(Enum8) —NO、ビューは更新されません。is_insertable_into(Enum8) — 作成されたビューがマテリアライズドかどうかを示します。設定可能な値:NO— 作成されたビューはマテリアライズドではありません。YES— 作成されたビューはマテリアライズドです。
is_trigger_updatable(Enum8) —NO、トリガーは更新されません。is_trigger_deletable(Enum8) —NO、トリガーは削除されません。is_trigger_insertable_into(Enum8) —NO、トリガーにはデータは挿入されません。
Query
Response
KEY_COLUMN_USAGE
constraint_catalog(String) — 現在は未使用です。常にdefです。constraint_schema(String) — 制約が属するスキーマ (データベース) の名前です。constraint_name(Nullable(String)) — 制約の名前です。table_catalog(String) — 現在は未使用です。常にdefです。table_schema(String) — テーブルが属するスキーマ (データベース) の名前です。table_name(String) — 制約が設定されているテーブルの名前です。column_name(Nullable(String)) — 制約が設定されているカラムの名前です。ordinal_position(UInt32) — 現在は未使用です。常に1です。position_in_unique_constraint(Nullable(UInt32)) — 現在は未使用です。常にNULLです。referenced_table_schema(Nullable(String)) — 現在は未使用です。常に NULL です。referenced_table_name(Nullable(String)) — 現在は未使用です。常に NULL です。referenced_column_name(Nullable(String)) — 現在は未使用です。常に NULL です。
Query
Response
REFERENTIAL_CONSTRAINTS
constraint_catalog(String) — 現在は使用されていません。constraint_schema(String) — 現在は使用されていません。constraint_name(Nullable(String)) — 現在は使用されていません。unique_constraint_catalog(String) — 現在は使用されていません。unique_constraint_schema(String) — 現在は使用されていません。unique_constraint_name(Nullable(String)) — 現在は使用されていません。match_option(String) — 現在は使用されていません。update_rule(String) — 現在は使用されていません。delete_rule(String) — 現在は使用されていません。table_name(String) — 現在は使用されていません。referenced_table_name(String) — 現在は使用されていません。