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

SHOW ステートメント

注記

SHOW CREATE (TABLE|DATABASE|USER)は、以下の設定がオンになっている場合を除き、秘密情報を非表示にします。

さらに、ユーザーは displaySecretsInShowAndSelect 権限を持っている必要があります。

SHOW CREATE TABLE | DICTIONARY | VIEW | DATABASE

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

構文

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

このステートメントを使用してシステムテーブルの CREATE クエリを取得した場合、テーブル構造のみを宣言する偽のクエリが得られ、テーブルを作成するためには使用できません。

SHOW DATABASES

このステートメントは、すべてのデータベースのリストを印刷します。

構文

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]

この例では、名前に'se'というシンボルシーケンスが含まれているデータベース名を取得するために SHOW を使用します:

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

無視大文字小文字の方式でも行うことができます:

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

あるいは、名前に'de'が含まれていないデータベース名を取得する場合:

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

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

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

関連項目

SHOW TABLES

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

構文

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 ステートメントを使用します:

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

無視大文字小文字の方式でも行うことができます:

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

あるいは、名前に 's' の文字が含まれていないテーブルを見つける場合:

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

最後に、最初の2つのテーブルの名前のみを取得できます:

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

関連項目

SHOW COLUMNS

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

構文

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 は同じです。データベースが指定されていない場合、クエリは現在のデータベースからカラムのリストを返します。

2つのオプションキーワード EXTENDEDFULL があります。 EXTENDED キーワードは現在影響がなく、MySQLの互換性のために存在します。 FULL キーワードは、出力に照合、コメント、権限カラムを含むことを引き起こします。

SHOW COLUMNS ステートメントは以下の構造の結果テーブルを生成します:

ColumnDescriptionType
fieldカラムの名前String
typeカラムのデータ型。クエリがMySQLワイヤプロトコルを介して行われた場合、MySQLの同等の型名が表示されます。String
nullカラムのデータ型がNullableの場合はYES、そうでなければNOString
keyカラムが主キーの一部であればPRI、ソートキーの一部であればSOR、そうでなければ空String
defaultカラムが ALIASDEFAULT、または MATERIALIZED の型の場合はデフォルト式、それ以外は NULLNullable(String)
extra追加情報、現在は未使用String
collationFULL キーワードが指定された場合のみ) カラムの照合、ClickHouseはカラムごとの照合を持たないため常にNULLNullable(String)
commentFULL キーワードが指定された場合のみ)カラムに関するコメントString
privilegeFULL キーワードが指定された場合のみ)このカラムに対するあなたの権限、現在は利用できないString

この例では、orders テーブルのすべてのカラムに関する情報を取得するために SHOW COLUMNS ステートメントを使用します。開始されるのは 'delivery_' からです:

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

関連項目

SHOW DICTIONARIES

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

構文

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>]

以下のクエリは、名前に reg が含まれている system データベース内のテーブルリストから最初の2行を選択します。

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

SHOW INDEX

テーブルの主キーとデータスキッピングインデックスのリストを表示します。

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

構文

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との互換性のために存在します。

このステートメントは以下の構造の結果テーブルを生成します:

ColumnDescriptionType
tableテーブル名。String
non_uniqueClickHouseは一意性制約をサポートしていないため常に 1UInt8
key_nameインデックスの名前。インデックスが主キーインデックスであれば PRIMARYString
seq_in_index主キーインデックスの場合、1から始まるカラムの位置。データスキッピングインデックスの場合は常に 1UInt8
column_name主キーインデックスの場合、カラムの名前。データスキッピングインデックスの場合は空の文字列、フィールド "expression" を参照。String
collationインデックス内のカラムのソート:昇順の場合は A、降順の場合は D、未ソートの場合は NULLNullable(String)
cardinalityインデックスの推定カーディナリティ(インデックス内の一意な値の数)の推定値。現在は常に0。UInt64
sub_partClickHouseはMySQLのようなインデックスのプレフィックスをサポートしていないため常に NULLNullable(String)
packedClickHouseはMySQLのようなパックインデックスをサポートしていないため常に NULLNullable(String)
null現在未使用
index_typeインデックスの種類、例: PRIMARYMINMAXBLOOM_FILTER など。String
commentインデックスに関する追加情報。現在は常に空の文字列。String
index_commentClickHouseのインデックスには COMMENT フィールドがないため、空の文字列。String
visibleインデックスがオプティマイザに見える場合は常に YESString
expressionデータスキッピングインデックスの場合、インデックス式。主キーインデックスの場合は空の文字列。String

この例では、tbl テーブルのすべてのインデックスに関する情報を取得するために SHOW INDEX ステートメントを使用します。

SHOW INDEX FROM 'tbl'
┌─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 クエリは除外されます。

構文

SHOW PROCESSLIST [INTO OUTFILE filename] [FORMAT format]

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

ヒント

コンソールで実行します:

$ watch -n1 "clickhouse-client --query='SHOW PROCESSLIST'"

SHOW GRANTS

SHOW GRANTS ステートメントは、ユーザーの権限を表示します。

構文

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

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

WITH IMPLICIT 修飾子を使用すると、暗黙の権限(例: GRANT SELECT ON system.one)を表示できます。

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

SHOW CREATE USER

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

構文

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

SHOW CREATE ROLE

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

構文

SHOW CREATE ROLE name1 [, name2 ...]

SHOW CREATE ROW POLICY

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

構文

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

SHOW CREATE QUOTA

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

構文

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

SHOW CREATE SETTINGS PROFILE

SHOW CREATE SETTINGS PROFILE ステートメントは、設定プロファイル作成時に使用されたパラメータを示します。

構文

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

SHOW USERS

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

構文

SHOW USERS

SHOW ROLES

SHOW ROLES ステートメントは、ロールのリストを返します。他のパラメータを表示するには、システムテーブル system.rolessystem.role_grants を参照してください。

構文

SHOW [CURRENT|ENABLED] ROLES

SHOW PROFILES

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

構文

SHOW [SETTINGS] PROFILES

SHOW POLICIES

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

構文

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

SHOW QUOTAS

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

構文

SHOW QUOTAS

SHOW QUOTA

SHOW QUOTA ステートメントは、すべてのユーザーまたは現在のユーザーのクォータの消費状況を返します。他のパラメータを表示するには、システムテーブル system.quotas_usagesystem.quota_usage を参照してください。

構文

SHOW [CURRENT] QUOTA

SHOW ACCESS

SHOW ACCESS ステートメントは、すべてのユーザーロールプロファイルなど、およびそのすべての権限を表示します。

構文

SHOW ACCESS

SHOW CLUSTER(S)

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

注記

SHOW CLUSTER name クエリは、指定されたクラスター名の system.clusters テーブルに対して clustershard_numreplica_numhost_namehost_address、および port を表示します。

構文

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

SHOW CLUSTERS;
┌─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                       │
└──────────────────────────────────────────────┘
SHOW CLUSTERS LIKE 'test%' LIMIT 1;
┌─cluster─────────────────┐
│ test_cluster_two_shards │
└─────────────────────────┘
SHOW CLUSTER 'test_shard_localhost' FORMAT Vertical;
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 テーブルからデータを選択します。

構文

SHOW [CHANGED] SETTINGS LIKE|ILIKE <name>

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

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

LIKE 句を持つクエリ:

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

ILIKE 句を持つクエリ:

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

CHANGED 句を持つクエリ:

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

SHOW SETTING

SHOW SETTING ステートメントは、指定された設定名の設定値を出力します。

構文

SHOW SETTING <name>

関連項目

SHOW FILESYSTEM CACHES

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

関連項目

SHOW ENGINES

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

構文

SHOW ENGINES [INTO OUTFILE filename] [FORMAT format]

関連項目

SHOW FUNCTIONS

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

構文

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

LIKE または ILIKE 句が指定された場合、クエリは提供された <pattern> に一致するシステム関数のリストを返します。

関連項目

SHOW MERGES

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

ColumnDescription
tableテーブル名。
databaseテーブルがあるデータベースの名前。
estimate_complete完了推定時間(秒単位)。
elapsedマージが開始されてから経過した時間(秒単位)。
progress完了した作業の割合(0-100%)。
is_mutationこのプロセスが部分的な変異であれば1。
size_compressedマージされたパーツの圧縮データの合計サイズ。
memory_usageマージプロセスのメモリ消費。

構文

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

SHOW MERGES;
┌─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 MERGES LIKE 'your_t%' LIMIT 1;
┌─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 │
└────────────┴──────────┴───────────────────┴─────────┴──────────┴─────────────┴─────────────────┴──────────────┘