INFORMATION_SCHEMA
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
system.columns システムテーブルから読み取ったカラムと、ClickHouseでサポートされていないか、意味を持たないカラム(常に NULL
)が含まれていますが、標準に従う必要があります。
カラム:
table_catalog
(String) — テーブルが存在するデータベースの名前。table_schema
(String) — テーブルが存在するデータベースの名前。table_name
(String) — テーブル名。column_name
(String) — カラム名。ordinal_position
(UInt64) — テーブル内でのカラムの順序位置(1から始まる)。column_default
(String) — デフォルト値の式、または未定義の場合は空の文字列。is_nullable
(UInt8) — カラムタイプがNullable
であるかどうかを示すフラグ。data_type
(String) — カラムのタイプ。character_maximum_length
(Nullable(UInt64)) — バイナリデータ、文字データ、またはテキストデータおよび画像の最大バイト数。ClickHouseではFixedString
データ型のみに意味があります。それ以外の場合はNULL
が返されます。character_octet_length
(Nullable(UInt64)) — バイナリデータ、文字データ、またはテキストデータおよび画像の最大バイト数。ClickHouseではFixedString
データ型のみに意味があります。それ以外の場合はNULL
が返されます。numeric_precision
(Nullable(UInt64)) — おおよその数値データ、正確な数値データ、整数データ、または貨幣データの精度。ClickHouseでは、整数型のビット幅とDecimal
型の小数精度を示します。それ以外の場合はNULL
が返されます。numeric_precision_radix
(Nullable(UInt64)) — おおよその数値データ、正確な数値データ、整数データ、または貨幣データにおける数のシステムの基数。ClickHouseでは、整数型の場合は2、Decimal
型の場合は10を示します。それ以外の場合はNULL
が返されます。numeric_scale
(Nullable(UInt64)) — おおよその数値データ、正確な数値データ、整数データ、または貨幣データのスケール。ClickHouseではDecimal
型にのみ意味があります。それ以外の場合はNULL
が返されます。datetime_precision
(Nullable(UInt64)) —DateTime64
データ型の小数精度。その他のデータ型の場合はNULL
が返されます。character_set_catalog
(Nullable(String)) —NULL
、サポートされていません。character_set_schema
(Nullable(String)) —NULL
、サポートされていません。character_set_name
(Nullable(String)) —NULL
、サポートされていません。collation_catalog
(Nullable(String)) —NULL
、サポートされていません。collation_schema
(Nullable(String)) —NULL
、サポートされていません。collation_name
(Nullable(String)) —NULL
、サポートされていません。domain_catalog
(Nullable(String)) —NULL
、サポートされていません。domain_schema
(Nullable(String)) —NULL
、サポートされていません。domain_name
(Nullable(String)) —NULL
、サポートされていません。extra
(Nullable(String)) —MATERIALIZED
型カラムに対してはSTORED GENERATED
、ALIAS
型カラムに対してはVIRTUAL GENERATED
、DEFAULT
型カラムに対してはDEFAULT_GENERATED
、またはNULL
。
例
クエリ:
結果:
SCHEMATA
system.databases システムテーブルから読み取ったカラムと、ClickHouseでサポートされていないか、意味を持たないカラム(常に 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
、サポートされていません。
例
クエリ:
結果:
TABLES
system.tables システムテーブルから読み取ったカラムを含みます。
カラム:
table_catalog
(String) — テーブルが存在するデータベースの名前。table_schema
(String) — テーブルが存在するデータベースの名前。table_name
(String) — テーブル名。table_type
(String) — テーブルのタイプ。可能な値:BASE TABLE
VIEW
FOREIGN TABLE
LOCAL TEMPORARY
SYSTEM 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)) — テーブル作成時に使用されるコメント。
例
クエリ:
結果:
VIEWS
system.tables システムテーブルから読み取ったカラムを含み、テーブルエンジン View が使用されます。
カラム:
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) — 作成されたビューがmaterializedかどうかを示します。可能な値:NO
— 作成されたビューはマテリアライズされていません。YES
— 作成されたビューはマテリアライズされています。
is_trigger_updatable
(Enum8) —NO
、トリガーは更新されません。is_trigger_deletable
(Enum8) —NO
、トリガーは削除されません。is_trigger_insertable_into
(Enum8) —NO
、データはトリガーに挿入されません。
例
クエリ:
結果:
KEY_COLUMN_USAGE
制約によって制限されたsystem.tables システムテーブルのカラムを含みます。
カラム:
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。
例
結果:
REFERENTIAL_CONSTRAINTS
外部キーに関する情報を含みます。現在は空の結果(行なし)を返しますが、これにより Tableau Online のようなサードパーティツールとの互換性が確保されます。
カラム:
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) — 現在未使用。
STATISTICS
テーブルインデックスに関する情報を提供します。現在は空の結果(行なし)を返しますが、これにより Tableau Online のようなサードパーティツールとの互換性が確保されます。
カラム:
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)) — 現在未使用。