メインコンテンツまでスキップ
メインコンテンツまでスキップ

INFORMATION_SCHEMA

INFORMATION_SCHEMA(または information_schema)は、データベースオブジェクトのメタデータに対する(ある程度)標準化された、DBMS非依存のビューを提供するシステムデータベースです。INFORMATION_SCHEMAのビューは通常のシステムテーブルよりも劣りますが、ツールはこれらを使用して、クロスDBMSの方法で基本情報を取得できます。INFORMATION_SCHEMAのビューの構造と内容は後方互換性のある方法で進化することになっています。つまり、新しい機能が追加されるだけで、既存の機能は変更されたり削除されたりしません。内部実装の観点から、INFORMATION_SCHEMAのビューは通常、system.columnssystem.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 GENERATEDALIAS型のカラムにはVIRTUAL GENERATEDDEFAULT型のカラムには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)) — 現在未使用。