Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

SHOW

SHOW CREATE TABLE | DICTIONARY | VIEW | DATABASE

これらのステートメントは String 型の単一のカラムを返します。このカラムには、指定したオブジェクトの作成に使用される CREATE クエリが含まれます。

構文

Syntaxsql
SHOW [CREATE] TABLE | TEMPORARY TABLE | DICTIONARY | VIEW | DATABASE [db.]table|view [INTO OUTFILE filename] [FORMAT format]

SHOW DATABASES

このステートメントは、すべてのデータベースの一覧を出力します。

構文

Syntaxsql
SHOW DATABASES [[NOT] LIKE | ILIKE '<pattern>'] [LIMIT <N>] [INTO OUTFILE filename] [FORMAT format]

次のクエリと同じです:

SELECT name FROM system.databases [WHERE name [NOT] LIKE | ILIKE '<pattern>'] [LIMIT <N>] [INTO OUTFILE filename] [FORMAT format]

この例では、名前に 'de' という文字列を含むデータベース名を取得するために SHOW を使用します。

Querysql
SHOW DATABASES LIKE '%de%'
Responsetext
┌─name────┐
│ default │
└─────────┘

大文字と小文字を区別せずに行うこともできます。

Querysql
SHOW DATABASES ILIKE '%DE%'
Responsetext
┌─name────┐
│ default │
└─────────┘

あるいは、名前に'de'を含まないデータベース名を取得することもできます:

Querysql
SHOW DATABASES NOT LIKE '%de%'
Responsetext
┌─name───────────────────────────┐
│ _temporary_and_external_tables │
│ system                         │
│ test                           │
│ tutorial                       │
└────────────────────────────────┘

最後に、最初の 2 つのデータベースの名前だけを取得できます:

Querysql
SHOW DATABASES LIMIT 2
Responsetext
┌─name───────────────────────────┐
│ _temporary_and_external_tables │
│ default                        │
└────────────────────────────────┘

関連項目

SHOW TABLES

SHOW TABLES ステートメントは、テーブルの一覧を表示します。

構文

Syntaxsql
SHOW [FULL] [TEMPORARY] TABLES [{FROM | IN} <db>] [[NOT] LIKE | ILIKE '<pattern>'] [LIMIT <N>] [INTO OUTFILE <filename>] [FORMAT <format>]

FROM 句が指定されていない場合、クエリは現在のデータベースにあるテーブルの一覧を返します。

このステートメントは、次のクエリと同じです。

SELECT name FROM system.tables [WHERE name [NOT] LIKE | ILIKE '<pattern>'] [LIMIT <N>] [INTO OUTFILE <filename>] [FORMAT <format>]

この例では、名前に 'user' を含むすべてのテーブルを探すために、SHOW TABLES ステートメントを使用します。

Querysql
SHOW TABLES FROM system LIKE '%user%'
Responsetext
┌─name─────────────┐
│ user_directories │
│ users            │
└──────────────────┘

大文字と小文字を区別せずに行うこともできます:

Querysql
SHOW TABLES FROM system ILIKE '%USER%'
Responsetext
┌─name─────────────┐
│ user_directories │
│ users            │
└──────────────────┘

また、名前に文字 's' を含まないテーブルを探すには:

Querysql
SHOW TABLES FROM system NOT LIKE '%s%'
Responsetext
┌─name─────────┐
│ metric_log   │
│ metric_log_0 │
│ metric_log_1 │
└──────────────┘

最後に、先頭の2つのテーブル名だけを取得できます。

Querysql
SHOW TABLES FROM system LIMIT 2
Responsetext
┌─name───────────────────────────┐
│ aggregate_function_combinators │
│ asynchronous_metric_log        │
└────────────────────────────────┘

関連項目

SHOW COLUMNS

SHOW COLUMNS ステートメントは、カラムの一覧を表示します。

構文

Syntaxsql
SHOW [EXTENDED] [FULL] COLUMNS {FROM | IN} <table> [{FROM | IN} <db>] [{[NOT] {LIKE | ILIKE} '<pattern>' | WHERE <expr>}] [LIMIT <N>] [INTO
OUTFILE <filename>] [FORMAT <format>]

データベース名とテーブル名は、省略形 <db>.<table> で指定できます。 つまり、FROM tab FROM dbFROM db.tab は同等です。 データベースが指定されていない場合、クエリは現在のデータベースのカラム一覧を返します。

また、省略可能なキーワードとして EXTENDEDFULL の 2 つがあります。EXTENDED キーワードは現在のところ効果がなく、 MySQL との互換性のために存在します。FULL キーワードを指定すると、出力に collation、comment、privilege の各カラムが含まれます。

SHOW COLUMNS ステートメントは、次の構造を持つ結果テーブルを返します。

Column Description Type
field カラム名 String
type カラムのデータ型。クエリが MySQL wire protocol 経由で実行された場合は、MySQL での対応する型名が表示されます。 String
null カラムのデータ型が Nullable の場合は YES、それ以外は NO String
key カラムが主キーの一部である場合は PRI、sorting key の一部である場合は SOR、それ以外は空 String
default カラムの型が ALIASDEFAULT、または MATERIALIZED の場合はそのデフォルト式、それ以外は NULL Nullable(String)
extra 追加情報。現在は未使用 String
collation (FULL キーワードが指定されている場合のみ) カラムの Collation。ClickHouse ではカラムごとの collations をサポートしていないため、常に NULL Nullable(String)
comment (FULL キーワードが指定されている場合のみ) カラムの comment String
privilege (FULL キーワードが指定されている場合のみ) このカラムに対する権限。現在は利用できません String

この例では、SHOW COLUMNS ステートメントを使用して、テーブル 'orders' 内の 'delivery_' で始まるすべてのカラムの情報を取得します:

Querysql
SHOW COLUMNS FROM 'orders' LIKE 'delivery_%'
Responsetext
┌─field───────────┬─type─────┬─null─┬─key─────┬─default─┬─extra─┐
│ delivery_date   │ DateTime │    0 │ PRI SOR │ ᴺᵁᴸᴸ    │       │
│ delivery_status │ Bool     │    0 │         │ ᴺᵁᴸᴸ    │       │
└─────────────────┴──────────┴──────┴─────────┴─────────┴───────┘

関連項目

SHOW DICTIONARIES

SHOW DICTIONARIES ステートメントは、Dictionaries の一覧を表示します。

構文

Syntaxsql
SHOW DICTIONARIES [FROM <db>] [LIKE '<pattern>'] [LIMIT <N>] [INTO OUTFILE <filename>] [FORMAT <format>]

FROM 句が指定されていない場合、クエリは現在のデータベース内の辞書の一覧を返します。

次の方法でも、SHOW DICTIONARIES クエリと同じ結果を得られます。

SELECT name FROM system.dictionaries WHERE database = <db> [AND name LIKE <pattern>] [LIMIT <N>] [INTO OUTFILE <filename>] [FORMAT <format>]

次のクエリは、system データベース内のテーブル一覧のうち、名前に reg を含む先頭の 2 行を選択します。

Querysql
SHOW DICTIONARIES FROM db LIKE '%reg%' LIMIT 2
Responsetext
┌─name─────────┐
│ regions      │
│ region_names │
└──────────────┘

SHOW INDEX

テーブルの主キーおよびデータスキッピングインデックスの一覧を表示します。

このステートメントは主に MySQL との互換性のために用意されています。システムテーブル system.tables (主キー) および system.data_skipping_indices (データスキッピングインデックス) は、同等の情報を提供しますが、ClickHouse ではよりネイティブな形式になっています。

構文

Syntaxsql
SHOW [EXTENDED] {INDEX | INDEXES | INDICES | KEYS } {FROM | IN} <table> [{FROM | IN} <db>] [WHERE <expr>] [INTO OUTFILE <filename>] [FORMAT <format>]

データベース名とテーブル名は、<db>.<table> という省略形式で指定できます。つまり、FROM tab FROM dbFROM db.tab は 同等です。データベースが指定されていない場合、クエリでは現在のデータベースが使用されます。

オプションのキーワード EXTENDED は現時点では効果がなく、MySQL との互換性のために存在しています。

このステートメントは、次の構造を持つ結果テーブルを生成します。

カラム 説明
table テーブル名。 String
non_unique ClickHouse は一意性制約をサポートしていないため、常に 1 UInt8
key_name 索引名。索引が主キー索引の場合は PRIMARY String
seq_in_index 主キー索引の場合は、1 から始まるカラムの位置。データスキッピングインデックスの場合は常に 1 UInt8
column_name 主キー索引の場合はカラム名。データスキッピングインデックスの場合は '' (空文字列) 。"expression" フィールドを参照してください。 String
collation 索引内でのカラムのソート順。昇順なら A、降順なら D、未ソートなら NULL Nullable(String)
cardinality 索引のカーディナリティ (索引内の一意な値の数) の推定値。現在は常に 0。 UInt64
sub_part ClickHouse は MySQL のような索引プレフィックスをサポートしていないため、常に NULL Nullable(String)
packed ClickHouse は packed 索引 (MySQL のようなもの) をサポートしていないため、常に NULL Nullable(String)
null 現在は未使用
index_type 索引の種類。たとえば PRIMARYMINMAXBLOOM_FILTER など。 String
comment 索引に関する追加情報。現在は常に '' (空文字列) 。 String
index_comment ClickHouse の索引には COMMENT フィールドを指定できないため、'' (空文字列) 。 String
visible 索引がオプティマイザから参照可能かどうか。常に YES String
expression データスキッピングインデックスの場合は索引式。主キー索引の場合は '' (空文字列) 。 String

この例では、SHOW INDEX ステートメントを使用して、テーブル 'tbl' のすべての索引に関する情報を取得します

Querysql
SHOW INDEX FROM 'tbl'
Responsetext
┌─table─┬─non_unique─┬─key_name─┬─seq_in_index─┬─column_name─┬─collation─┬─cardinality─┬─sub_part─┬─packed─┬─null─┬─index_type───┬─comment─┬─index_comment─┬─visible─┬─expression─┐
│ tbl   │          1 │ blf_idx  │ 1            │ 1           │ ᴺᵁᴸᴸ      │ 0           │ ᴺᵁᴸᴸ     │ ᴺᵁᴸᴸ   │ ᴺᵁᴸᴸ │ BLOOM_FILTER │         │               │ YES     │ d, b       │
│ tbl   │          1 │ mm1_idx  │ 1            │ 1           │ ᴺᵁᴸᴸ      │ 0           │ ᴺᵁᴸᴸ     │ ᴺᵁᴸᴸ   │ ᴺᵁᴸᴸ │ MINMAX       │         │               │ YES     │ a, c, d    │
│ tbl   │          1 │ mm2_idx  │ 1            │ 1           │ ᴺᵁᴸᴸ      │ 0           │ ᴺᵁᴸᴸ     │ ᴺᵁᴸᴸ   │ ᴺᵁᴸᴸ │ MINMAX       │         │               │ YES     │ c, d, e    │
│ tbl   │          1 │ PRIMARY  │ 1            │ c           │ A         │ 0           │ ᴺᵁᴸᴸ     │ ᴺᵁᴸᴸ   │ ᴺᵁᴸᴸ │ PRIMARY      │         │               │ YES     │            │
│ tbl   │          1 │ PRIMARY  │ 2            │ a           │ A         │ 0           │ ᴺᵁᴸᴸ     │ ᴺᵁᴸᴸ   │ ᴺᵁᴸᴸ │ PRIMARY      │         │               │ YES     │            │
│ tbl   │          1 │ set_idx  │ 1            │ 1           │ ᴺᵁᴸᴸ      │ 0           │ ᴺᵁᴸᴸ     │ ᴺᵁᴸᴸ   │ ᴺᵁᴸᴸ │ SET          │         │               │ YES     │ e          │
└───────┴────────────┴──────────┴──────────────┴─────────────┴───────────┴─────────────┴──────────┴────────┴──────┴──────────────┴─────────┴───────────────┴─────────┴────────────┘

関連項目

SHOW PROCESSLIST

system.processes テーブルの内容を出力します。このテーブルには、現在処理中のクエリの一覧が含まれますが、SHOW PROCESSLIST クエリは含まれません。

構文

Syntaxsql
SHOW PROCESSLIST [INTO OUTFILE filename] [FORMAT format]

SELECT * FROM system.processes クエリは、現在実行中のすべてのクエリに関するデータを返します。

SHOW GRANTS

SHOW GRANTS ステートメントは、ユーザーに付与された権限を表示します。

構文

Syntaxsql
SHOW GRANTS [FOR user1 [, user2 ...]] [WITH IMPLICIT] [FINAL]

ユーザーが指定されていない場合、クエリは現在のユーザーの権限を返します。

WITH IMPLICIT 修飾子を使うと、暗黙的な権限付与 (例: GRANT SELECT ON system.one) を表示できます。

FINAL 修飾子は、ユーザーと、そのユーザーに付与されたロールからのすべての権限をマージします (継承を含む) 。

SHOW CREATE USER

SHOW CREATE USER ステートメントは、ユーザーの作成時に使用されたパラメータを表示します。

構文

Syntaxsql
SHOW CREATE USER [name1 [, name2 ...] | CURRENT_USER]

SHOW CREATE ROLE

SHOW CREATE ROLE ステートメントは、ロール作成時に使用されたパラメーターを表示します。

構文

Syntaxsql
SHOW CREATE ROLE name1 [, name2 ...]

SHOW CREATE ROW POLICY

SHOW CREATE ROW POLICY ステートメントは、ROW POLICY の作成時に使用されたパラメータを表示します。

構文

Syntaxsql
SHOW CREATE [ROW] POLICY name ON [database1.]table1 [, [database2.]table2 ...]

SHOW CREATE QUOTA

SHOW CREATE QUOTA ステートメントは、QUOTA の作成時に使用されたパラメーターを表示します。

構文

Syntaxsql
SHOW CREATE QUOTA [name1 [, name2 ...] | CURRENT]

SHOW CREATE SETTINGS PROFILE

SHOW CREATE SETTINGS PROFILE ステートメントは、settings profile の作成に使用されたパラメータを表示します。

構文

Syntaxsql
SHOW CREATE [SETTINGS] PROFILE name1 [, name2 ...]

SHOW USERS

SHOW USERS ステートメントは、ユーザーアカウントの名前の一覧を返します。 ユーザーアカウントのパラメータを確認するには、システムテーブル system.users を参照してください。

構文

Syntaxsql
SHOW USERS

SHOW ROLES

SHOW ROLES ステートメントは、ロールの一覧を返します。 その他の情報については、 システムテーブル system.roles および system.role_grants を参照してください。

構文

Syntaxsql
SHOW [CURRENT|ENABLED] ROLES

SHOW PROFILES

SHOW PROFILES ステートメントは、設定プロファイルの一覧を返します。 ユーザーアカウントのパラメータを確認するには、システムテーブル settings_profilesを参照してください。

構文

Syntaxsql
SHOW [SETTINGS] PROFILES

SHOW POLICIES

SHOW POLICIES ステートメントは、指定したテーブルの 行ポリシー の一覧を返します。 ユーザーアカウントに関するパラメータを確認するには、システムテーブル system.row_policies を参照してください。

構文

Syntaxsql
SHOW [ROW] POLICIES [ON [db.]table]

SHOW QUOTAS

SHOW QUOTAS ステートメントは、クォータの一覧を返します。 クォータのパラメータを表示するには、システムテーブル system.quotas を参照してください。

構文

Syntaxsql
SHOW QUOTAS

SHOW QUOTA

SHOW QUOTA ステートメントは、すべてのユーザーまたは現在のユーザーの QUOTA の使用状況を返します。 その他のパラメータを確認するには、システムテーブル system.quotas_usage および system.quota_usage を参照してください。

構文

Syntaxsql
SHOW [CURRENT] QUOTA

SHOW ACCESS

SHOW ACCESS ステートメントは、すべてのユーザーロールプロファイルなどと、それらに付与されているすべての権限を表示します。

構文

Syntaxsql
SHOW ACCESS

SHOW CLUSTER(S)

SHOW CLUSTER(S) ステートメントは、クラスターの一覧を返します。 使用可能なすべてのクラスターは、system.clusters テーブルに一覧表示されます。

構文

Syntaxsql
SHOW CLUSTER '<name>'
SHOW CLUSTERS [[NOT] LIKE|ILIKE '<pattern>'] [LIMIT <N>]

Querysql
SHOW CLUSTERS;
Responsetext
┌─cluster──────────────────────────────────────┐
│ test_cluster_two_shards                      │
│ test_cluster_two_shards_internal_replication │
│ test_cluster_two_shards_localhost            │
│ test_shard_localhost                         │
│ test_shard_localhost_secure                  │
│ test_unavailable_shard                       │
└──────────────────────────────────────────────┘
Querysql
SHOW CLUSTERS LIKE 'test%' LIMIT 1;
Responsetext
┌─cluster─────────────────┐
│ test_cluster_two_shards │
└─────────────────────────┘
Querysql
SHOW CLUSTER 'test_shard_localhost' FORMAT Vertical;
Responsetext
Row 1:
──────
cluster:                 test_shard_localhost
shard_num:               1
replica_num:             1
host_name:               localhost
host_address:            127.0.0.1
port:                    9000

SHOW SETTINGS

SHOW SETTINGS ステートメントは、システム設定とその値の一覧を返します。 system.settings テーブルからデータを取得します。

構文

Syntaxsql
SHOW [CHANGED] SETTINGS LIKE|ILIKE <name>

LIKE|ILIKE では、設定名に一致するパターンを指定できます。パターンには %_ などのグロブを含めることができます。LIKE 句は大文字と小文字を区別し、ILIKE 句は大文字と小文字を区別しません。

CHANGED 句を使用すると、クエリはデフォルト値から変更された設定のみを返します。

LIKE 句を使用したクエリ:

Querysql
SHOW SETTINGS LIKE 'send_timeout';
Responsetext
┌─name─────────┬─type────┬─value─┐
│ send_timeout │ Seconds │ 300   │
└──────────────┴─────────┴───────┘

ILIKE 句を使用するクエリ:

Querysql
SHOW SETTINGS ILIKE '%CONNECT_timeout%'
Responsetext
┌─name────────────────────────────────────┬─type─────────┬─value─┐
│ connect_timeout                         │ Seconds      │ 10    │
│ connect_timeout_with_failover_ms        │ Milliseconds │ 50    │
│ connect_timeout_with_failover_secure_ms │ Milliseconds │ 100   │
└─────────────────────────────────────────┴──────────────┴───────┘

CHANGED 句を使用したクエリ:

Querysql
SHOW CHANGED SETTINGS ILIKE '%MEMORY%'
Responsetext
┌─name─────────────┬─type───┬─value───────┐
│ max_memory_usage │ UInt64 │ 10000000000 │
└──────────────────┴────────┴─────────────┘

SHOW SETTING

SHOW SETTING ステートメントは、指定した設定名に対応する設定値を出力します。

構文

Syntaxsql
SHOW SETTING <name>

関連項目

SHOW FILESYSTEM CACHES

Querysql
SHOW FILESYSTEM CACHES
Responsetext
┌─Caches────┐
│ s3_cache  │
└───────────┘

関連項目

SHOW ENGINES

SHOW ENGINES ステートメントは、system.table_engines テーブルの内容を出力します。 このテーブルには、サーバーがサポートするテーブルエンジンの説明と、それぞれが対応している機能に関する情報が含まれています。

構文

Syntaxsql
SHOW ENGINES [INTO OUTFILE filename] [FORMAT format]

関連項目

SHOW FUNCTIONS

SHOW FUNCTIONS ステートメントは、system.functions テーブルの内容を表示します。

構文

Syntaxsql
SHOW FUNCTIONS [LIKE | ILIKE '<pattern>']

LIKE または ILIKE 句のいずれかが指定されている場合、クエリは、名前が指定された <pattern> に一致するシステム関数の一覧を返します。

関連項目

SHOW MERGES

SHOW MERGES ステートメントは、マージの一覧を返します。 すべてのマージは、system.merges テーブルに記載されています。

Column Description
table テーブル名。
database テーブルが属するデータベース名。
estimate_complete 完了までの推定時間 (秒単位) 。
elapsed マージ開始からの経過時間 (秒単位) 。
progress 完了した処理の割合 (0~100%) 。
is_mutation この処理がパーツミューテーションである場合は 1。
size_compressed マージされたパーツの圧縮データの合計サイズ。
memory_usage マージ処理のメモリ使用量。

構文

Syntaxsql
SHOW MERGES [[NOT] LIKE|ILIKE '<table_name_pattern>'] [LIMIT <N>]

Querysql
SHOW MERGES;
Responsetext
┌─table──────┬─database─┬─estimate_complete─┬─elapsed─┬─progress─┬─is_mutation─┬─size_compressed─┬─memory_usage─┐
│ your_table │ default  │              0.14 │    0.36 │    73.01 │           0 │        5.40 MiB │    10.25 MiB │
└────────────┴──────────┴───────────────────┴─────────┴──────────┴─────────────┴─────────────────┴──────────────┘
Querysql
SHOW MERGES LIKE 'your_t%' LIMIT 1;
Responsetext
┌─table──────┬─database─┬─estimate_complete─┬─elapsed─┬─progress─┬─is_mutation─┬─size_compressed─┬─memory_usage─┐
│ your_table │ default  │              0.14 │    0.36 │    73.01 │           0 │        5.40 MiB │    10.25 MiB │
└────────────┴──────────┴───────────────────┴─────────┴──────────┴─────────────┴─────────────────┴──────────────┘

SHOW CREATE MASKING POLICY

SHOW CREATE MASKING POLICY ステートメントは、マスキングポリシーの作成時に使用されたパラメータを表示します。

構文

Syntaxsql
SHOW CREATE MASKING POLICY name ON [database.]table
Navigation