SHOW CREATE TABLE | DICTIONARY | VIEW | DATABASE
Эти команды возвращают один столбец типа String,
содержащий запрос CREATE, используемый для создания указанного объекта.
Синтаксис
SHOW [CREATE] TABLE | TEMPORARY TABLE | DICTIONARY | VIEW | DATABASE [db.]table|view [INTO OUTFILE filename] [FORMAT format]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]Примеры
В этом примере мы используем SHOW, чтобы получить имена баз данных, содержащие последовательность символов 'de':
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 │
└────────────────────────────────┘Наконец, можно получить имена только первых двух баз данных:
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>]Примеры
В этом примере мы используем оператор SHOW TABLES, чтобы найти все таблицы, в названии которых есть 'user':
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 │
└──────────────┘Наконец, мы можем получить имена только двух первых таблиц:
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 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_':
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 отображает список Словарей.
Синтаксис
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.
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 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'
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 возвращает данные обо всех выполняемых в данный момент запросах.
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 выводит параметры, использованные при создании 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 USERSSHOW ROLES
Оператор SHOW ROLES возвращает список ролей.
Чтобы посмотреть другие параметры,
см. системные таблицы system.roles и system.role_grants.
Синтаксис
SHOW [CURRENT|ENABLED] ROLESSHOW PROFILES
Оператор SHOW PROFILES возвращает список профилей настроек.
Чтобы просмотреть параметры учётных записей пользователей, см. системную таблицу settings_profiles.
Синтаксис
SHOW [SETTINGS] PROFILESSHOW POLICIES
Оператор SHOW POLICIES возвращает список политик доступа на уровне строк для указанной таблицы.
Чтобы просмотреть параметры учётных записей пользователей, см. системную таблицу system.row_policies.
Синтаксис
SHOW [ROW] POLICIES [ON [db.]table]SHOW QUOTAS
Оператор SHOW QUOTAS возвращает список квот.
Чтобы посмотреть параметры квот, см. системную таблицу system.quotas.
Синтаксис
SHOW QUOTASSHOW QUOTA
Оператор SHOW QUOTA возвращает сведения об использовании квоты для всех пользователей или текущего пользователя.
Чтобы просмотреть другие параметры, см. системные таблицы system.quotas_usage и system.quota_usage.
Синтаксис
SHOW [CURRENT] QUOTASHOW ACCESS
Оператор SHOW ACCESS показывает всех пользователей, все роли, профили и т. д., а также все их привилегии.
Синтаксис
SHOW ACCESSSHOW CLUSTER(S)
Оператор SHOW CLUSTER(S) возвращает список кластеров.
Все доступные кластеры перечислены в таблице system.clusters.
Синтаксис
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: 9000SHOW 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>См. также
- таблица
system.settings
SHOW FILESYSTEM CACHES
Примеры
SHOW FILESYSTEM CACHES┌─Caches────┐
│ s3_cache │
└───────────┘См. также
- таблица
system.settings
SHOW ENGINES
Оператор SHOW ENGINES выводит содержимое таблицы system.table_engines,
в которой содержатся описания поддерживаемых сервером движков таблиц и сведения об их возможностях.
Синтаксис
SHOW ENGINES [INTO OUTFILE filename] [FORMAT format]См. также
- таблица system.table_engines
SHOW FUNCTIONS
Оператор SHOW FUNCTIONS выводит содержимое таблицы system.functions.
Синтаксис
SHOW FUNCTIONS [LIKE | ILIKE '<pattern>']Если указано предложение LIKE или ILIKE, запрос возвращает список системных функций, имена которых соответствуют заданному <pattern>.
См. также
- таблица
system.functions
SHOW MERGES
Оператор SHOW MERGES возвращает список слияний.
Все слияния перечислены в таблице system.merges:
| Столбец | Описание |
|---|---|
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 │
└────────────┴──────────┴───────────────────┴─────────┴──────────┴─────────────┴─────────────────┴──────────────┘SHOW CREATE MASKING POLICY
Оператор SHOW CREATE MASKING POLICY показывает параметры, использованные при создании политики маскирования.
Синтаксис
SHOW CREATE MASKING POLICY name ON [database.]table