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]

Примеры

В этом примере мы используем SHOW, чтобы получить имена баз данных, содержащие последовательность символов 'de':

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                       │
└────────────────────────────────┘

Наконец, можно получить имена только первых двух баз данных:

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

Примеры

В этом примере мы используем оператор SHOW TABLES, чтобы найти все таблицы, в названии которых есть 'user':

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 │
└──────────────┘

Наконец, мы можем получить имена только двух первых таблиц:

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 db и FROM db.tab эквивалентны. Если база данных не указана, запрос возвращает список столбцов из текущей базы данных.

Также есть два необязательных ключевых слова: EXTENDED и FULL. Ключевое слово EXTENDED в настоящее время ни на что не влияет и существует для совместимости с MySQL. Ключевое слово FULL добавляет в вывод столбцы collation, comment и privilege.

Оператор SHOW COLUMNS возвращает результирующую таблицу со следующей структурой:

Столбец Описание Тип
field Имя столбца String
type Тип данных столбца. Если запрос был выполнен через протокол MySQL, отображается эквивалентное имя типа в MySQL. String
null YES, если тип данных столбца — Nullable, в противном случае NO String
key PRI, если столбец является частью первичного ключа, SOR, если столбец является частью ключа сортировки, в противном случае пусто String
default Выражение по умолчанию для столбца, если он имеет тип ALIAS, DEFAULT или MATERIALIZED, иначе NULL. Nullable(String)
extra Дополнительная информация; в настоящее время не используется String
collation (только если указано ключевое слово FULL) collation столбца; всегда NULL, поскольку в ClickHouse нет collations на уровне столбца Nullable(String)
comment (только если указано ключевое слово FULL) Комментарий к столбцу 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 отображает список Словарей.

Синтаксис

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.

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 db и FROM db.tab эквивалентны. Если база данных не указана, запрос использует текущую базу данных.

Необязательное ключевое слово EXTENDED в настоящее время ни на что не влияет и существует для совместимости с MySQL.

Оператор возвращает таблицу результатов со следующей структурой:

Столбец Описание Тип
table Имя таблицы. String
non_unique Всегда 1, так как ClickHouse не поддерживает ограничения уникальности. UInt8
key_name Имя индекса; PRIMARY, если индекс является индексом первичного ключа. String
seq_in_index Для индекса первичного ключа — позиция столбца, начиная с 1. Для data skipping index — всегда 1. UInt8
column_name Для индекса первичного ключа — имя столбца. Для data skipping index — '' (пустая строка), см. поле "expression". String
collation Порядок сортировки столбца в индексе: A — по возрастанию, D — по убыванию, NULL — без сортировки. Nullable(String)
cardinality Оценка мощности индекса (числа уникальных значений в индексе). В настоящее время всегда 0. UInt64
sub_part Всегда NULL, потому что ClickHouse не поддерживает префиксы индексов, как в MySQL. Nullable(String)
packed Всегда NULL, потому что ClickHouse не поддерживает упакованные индексы (как в MySQL). Nullable(String)
null В настоящее время не используется.
index_type Тип индекса, например PRIMARY, MINMAX, BLOOM_FILTER и т. д. String
comment Дополнительная информация об индексе; в настоящее время всегда '' (пустая строка). String
index_comment '' (пустая строка), потому что индексы в ClickHouse не могут иметь поле COMMENT (как в MySQL). String
visible Указывает, виден ли индекс оптимизатору; всегда YES. String
expression Для data skipping index — выражение индекса. Для индекса первичного ключа — '' (пустая строка). 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 выводит параметры, использованные при создании квоты.

Синтаксис

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

SHOW CREATE SETTINGS PROFILE

Оператор SHOW CREATE 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 возвращает сведения об использовании квоты для всех пользователей или текущего пользователя. Чтобы просмотреть другие параметры, см. системные таблицы 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:

Столбец Описание
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