SHOW CREATE TABLE | DICTIONARY | VIEW | DATABASE
Essas instruções retornam uma única coluna do tipo String,
contendo a consulta CREATE usada para criar o objeto especificado.
Sintaxe
SHOW [CREATE] TABLE | TEMPORARY TABLE | DICTIONARY | VIEW | DATABASE [db.]table|view [INTO OUTFILE filename] [FORMAT format]SHOW DATABASES
Esta instrução exibe uma lista de todos os bancos de dados.
Sintaxe
SHOW DATABASES [[NOT] LIKE | ILIKE '<pattern>'] [LIMIT <N>] [INTO OUTFILE filename] [FORMAT format]É idêntica à consulta:
SELECT name FROM system.databases [WHERE name [NOT] LIKE | ILIKE '<pattern>'] [LIMIT <N>] [INTO OUTFILE filename] [FORMAT format]Exemplos
Neste exemplo, usamos SHOW para obter os nomes dos bancos de dados que contêm a sequência de caracteres 'de' no nome:
SHOW DATABASES LIKE '%de%'┌─name────┐
│ default │
└─────────┘Também podemos fazer isso sem diferenciar maiúsculas de minúsculas:
SHOW DATABASES ILIKE '%DE%'┌─name────┐
│ default │
└─────────┘Ou obtenha os nomes dos bancos de dados que não contêm 'de' no nome:
SHOW DATABASES NOT LIKE '%de%'┌─name───────────────────────────┐
│ _temporary_and_external_tables │
│ system │
│ test │
│ tutorial │
└────────────────────────────────┘Por fim, podemos obter os nomes apenas dos dois primeiros bancos de dados:
SHOW DATABASES LIMIT 2┌─name───────────────────────────┐
│ _temporary_and_external_tables │
│ default │
└────────────────────────────────┘Veja também
SHOW TABLES
A instrução SHOW TABLES exibe uma lista de tabelas.
Sintaxe
SHOW [FULL] [TEMPORARY] TABLES [{FROM | IN} <db>] [[NOT] LIKE | ILIKE '<pattern>'] [LIMIT <N>] [INTO OUTFILE <filename>] [FORMAT <format>]Se a cláusula FROM não for especificada, a consulta retorna uma lista de tabelas do banco de dados atual.
Esta instrução é idêntica à consulta:
SELECT name FROM system.tables [WHERE name [NOT] LIKE | ILIKE '<pattern>'] [LIMIT <N>] [INTO OUTFILE <filename>] [FORMAT <format>]Exemplos
Neste exemplo, usamos a instrução SHOW TABLES para localizar todas as tabelas que contêm 'user' no nome:
SHOW TABLES FROM system LIKE '%user%'┌─name─────────────┐
│ user_directories │
│ users │
└──────────────────┘Também é possível fazer isso sem diferenciar maiúsculas de minúsculas:
SHOW TABLES FROM system ILIKE '%USER%'┌─name─────────────┐
│ user_directories │
│ users │
└──────────────────┘Ou, para encontrar tabelas cujos nomes não contenham a letra 's':
SHOW TABLES FROM system NOT LIKE '%s%'┌─name─────────┐
│ metric_log │
│ metric_log_0 │
│ metric_log_1 │
└──────────────┘Por fim, podemos obter os nomes apenas das duas primeiras tabelas:
SHOW TABLES FROM system LIMIT 2┌─name───────────────────────────┐
│ aggregate_function_combinators │
│ asynchronous_metric_log │
└────────────────────────────────┘Veja também
SHOW COLUMNS
A instrução SHOW COLUMNS mostra uma lista de colunas.
Sintaxe
SHOW [EXTENDED] [FULL] COLUMNS {FROM | IN} <table> [{FROM | IN} <db>] [{[NOT] {LIKE | ILIKE} '<pattern>' | WHERE <expr>}] [LIMIT <N>] [INTO
OUTFILE <filename>] [FORMAT <format>]O nome do banco de dados e o nome da tabela podem ser especificados de forma abreviada como <db>.<table>,
o que significa que FROM tab FROM db e FROM db.tab são equivalentes.
Se nenhum banco de dados for especificado, a consulta retorna a lista de colunas do banco de dados atual.
Há também duas palavras-chave opcionais: EXTENDED e FULL. No momento, a palavra-chave EXTENDED não tem efeito
e existe para compatibilidade com MySQL. A palavra-chave FULL faz com que a saída inclua as colunas collation, comment e privilege.
A instrução SHOW COLUMNS produz uma tabela de resultados com a seguinte estrutura:
| Coluna | Descrição | Tipo |
|---|---|---|
field |
O nome da coluna | String |
type |
O tipo de dado da coluna. Se a consulta for feita por meio do MySQL wire protocol, será exibido o nome de tipo equivalente no MySQL. | String |
null |
YES se o tipo de dado da coluna for Nullable, NO caso contrário |
String |
key |
PRI se a coluna fizer parte da chave primária, SOR se a coluna fizer parte da chave de ordenação, vazio caso contrário |
String |
default |
Expressão padrão da coluna, se ela for do tipo ALIAS, DEFAULT ou MATERIALIZED; caso contrário, NULL. |
Nullable(String) |
extra |
Informações adicionais, atualmente sem uso | String |
collation |
(somente se a palavra-chave FULL for especificada) Collation da coluna, sempre NULL, porque o ClickHouse não tem collations por coluna |
Nullable(String) |
comment |
(somente se a palavra-chave FULL for especificada) Comentário da coluna |
String |
privilege |
(somente se a palavra-chave FULL for especificada) O privilégio que você tem nessa coluna, atualmente não disponível |
String |
Exemplos
Neste exemplo, vamos usar a instrução SHOW COLUMNS para obter informações sobre todas as colunas da tabela 'orders',
começando com 'delivery_':
SHOW COLUMNS FROM 'orders' LIKE 'delivery_%'┌─field───────────┬─type─────┬─null─┬─key─────┬─default─┬─extra─┐
│ delivery_date │ DateTime │ 0 │ PRI SOR │ ᴺᵁᴸᴸ │ │
│ delivery_status │ Bool │ 0 │ │ ᴺᵁᴸᴸ │ │
└─────────────────┴──────────┴──────┴─────────┴─────────┴───────┘Veja também
SHOW DICTIONARIES
A instrução SHOW DICTIONARIES exibe a lista de Dicionários.
Sintaxe
SHOW DICTIONARIES [FROM <db>] [LIKE '<pattern>'] [LIMIT <N>] [INTO OUTFILE <filename>] [FORMAT <format>]Se a cláusula FROM não for especificada, a consulta retorna a lista de dicionários do banco de dados atual.
Você pode obter os mesmos resultados da consulta SHOW DICTIONARIES da seguinte forma:
SELECT name FROM system.dictionaries WHERE database = <db> [AND name LIKE <pattern>] [LIMIT <N>] [INTO OUTFILE <filename>] [FORMAT <format>]Exemplos
A consulta a seguir seleciona as duas primeiras linhas da lista de tabelas do banco de dados system cujos nomes contêm reg.
SHOW DICTIONARIES FROM db LIKE '%reg%' LIMIT 2┌─name─────────┐
│ regions │
│ region_names │
└──────────────┘SHOW INDEX
Exibe uma lista de índices primários e data skipping indexes de uma tabela.
Esta instrução existe principalmente por compatibilidade com o MySQL. As tabelas de sistema system.tables (para
chaves primárias) e system.data_skipping_indices (para data skipping indices)
fornecem informações equivalentes, mas de forma mais nativa no ClickHouse.
Sintaxe
SHOW [EXTENDED] {INDEX | INDEXES | INDICES | KEYS } {FROM | IN} <table> [{FROM | IN} <db>] [WHERE <expr>] [INTO OUTFILE <filename>] [FORMAT <format>]O nome do banco de dados e da tabela pode ser especificado na forma abreviada <db>.<table>, ou seja, FROM tab FROM db e FROM db.tab são
equivalentes. Se nenhum banco de dados for especificado, a consulta assume o banco de dados atual.
A palavra-chave opcional EXTENDED atualmente não tem efeito e existe para compatibilidade com o MySQL.
A instrução produz uma tabela de resultados com a seguinte estrutura:
| Coluna | Descrição | Tipo |
|---|---|---|
table |
O nome da tabela. | String |
non_unique |
Sempre 1, pois o ClickHouse não oferece suporte a restrições de unicidade. |
UInt8 |
key_name |
O nome do índice; PRIMARY se o índice for um índice de chave primária. |
String |
seq_in_index |
Para um índice de chave primária, a posição da coluna a partir de 1. Para um índice de data skipping: sempre 1. |
UInt8 |
column_name |
Para um índice de chave primária, o nome da coluna. Para um índice de data skipping: '' (string vazia); veja o campo "expression". |
String |
collation |
A ordenação da coluna no índice: A se ascendente, D se descendente, NULL se não ordenada. |
Nullable(String) |
cardinality |
Uma estimativa da cardinalidade do índice (número de valores únicos no índice). Atualmente, é sempre 0. | UInt64 |
sub_part |
Sempre NULL, porque o ClickHouse não oferece suporte a prefixos de índice como o MySQL. |
Nullable(String) |
packed |
Sempre NULL, porque o ClickHouse não oferece suporte a índices packed (como o MySQL). |
Nullable(String) |
null |
Atualmente sem uso | |
index_type |
O tipo de índice, por exemplo, PRIMARY, MINMAX, BLOOM_FILTER etc. |
String |
comment |
Informações adicionais sobre o índice; atualmente, sempre '' (string vazia). |
String |
index_comment |
'' (string vazia), porque índices no ClickHouse não podem ter um campo COMMENT (como no MySQL). |
String |
visible |
Se o índice está visível para o otimizador, sempre YES. |
String |
expression |
Para um índice de data skipping, a expressão do índice. Para um índice de chave primária: '' (string vazia). |
String |
Exemplos
Neste exemplo, usamos a instrução SHOW INDEX para obter informações sobre todos os índices da tabela '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 │
└───────┴────────────┴──────────┴──────────────┴─────────────┴───────────┴─────────────┴──────────┴────────┴──────┴──────────────┴─────────┴───────────────┴─────────┴────────────┘Veja também
SHOW PROCESSLIST
Exibe o conteúdo da tabela system.processes, que contém uma lista das consultas em processamento no momento, excluindo as consultas SHOW PROCESSLIST.
Sintaxe
SHOW PROCESSLIST [INTO OUTFILE filename] [FORMAT format]A consulta SELECT * FROM system.processes retorna dados sobre todas as consultas em execução no momento.
SHOW GRANTS
A instrução SHOW GRANTS exibe os privilégios de um usuário.
Sintaxe
SHOW GRANTS [FOR user1 [, user2 ...]] [WITH IMPLICIT] [FINAL]Se o usuário não for especificado, a consulta retornará os privilégios do usuário atual.
O modificador WITH IMPLICIT permite exibir os privilégios implícitos (por exemplo, GRANT SELECT ON system.one)
O modificador FINAL combina todos os privilégios do usuário e das funções concedidas a ele (com herança)
SHOW CREATE USER
A instrução SHOW CREATE USER exibe os parâmetros usados na criação do usuário.
Sintaxe
SHOW CREATE USER [name1 [, name2 ...] | CURRENT_USER]SHOW CREATE ROLE
A instrução SHOW CREATE ROLE mostra os parâmetros usados na criação da role.
Sintaxe
SHOW CREATE ROLE name1 [, name2 ...]SHOW CREATE ROW POLICY
A instrução SHOW CREATE ROW POLICY exibe os parâmetros usados na criação de ROW POLICY.
Sintaxe
SHOW CREATE [ROW] POLICY name ON [database1.]table1 [, [database2.]table2 ...]SHOW CREATE QUOTA
A instrução SHOW CREATE QUOTA mostra os parâmetros usados na criação da quota.
Sintaxe
SHOW CREATE QUOTA [name1 [, name2 ...] | CURRENT]SHOW CREATE SETTINGS PROFILE
A instrução SHOW CREATE SETTINGS PROFILE exibe os parâmetros usados na criação do perfil de configurações.
Sintaxe
SHOW CREATE [SETTINGS] PROFILE name1 [, name2 ...]SHOW USERS
A instrução SHOW USERS retorna uma lista com os nomes das contas de usuário.
Para ver os parâmetros das contas de usuário, consulte a tabela de sistema system.users.
Sintaxe
SHOW USERSSHOW ROLES
A instrução SHOW ROLES retorna uma lista de funções.
Para ver outros parâmetros,
consulte as tabelas do sistema system.roles e system.role_grants.
Sintaxe
SHOW [CURRENT|ENABLED] ROLESSHOW PROFILES
A instrução SHOW PROFILES retorna uma lista de perfis de configuração.
Para ver os parâmetros das contas de usuário, consulte a tabela do sistema settings_profiles.
Sintaxe
SHOW [SETTINGS] PROFILESSHOW POLICIES
A instrução SHOW POLICIES retorna uma lista de ROW POLICY da tabela especificada.
Para ver os parâmetros das contas de usuário, consulte a tabela de sistema system.row_policies.
Sintaxe
SHOW [ROW] POLICIES [ON [db.]table]SHOW QUOTAS
A instrução SHOW QUOTAS retorna uma lista de quotas.
Para ver os parâmetros das quotas, consulte a tabela de sistema system.quotas.
Sintaxe
SHOW QUOTASSHOW QUOTA
A instrução SHOW QUOTA retorna o consumo da quota de todos os usuários ou do usuário atual.
Para ver outros parâmetros, consulte as tabelas do sistema system.quotas_usage e system.quota_usage.
Sintaxe
SHOW [CURRENT] QUOTASHOW ACCESS
A instrução SHOW ACCESS mostra todos os usuários, funções, perfis etc. e todos os privilégios concedidos a eles.
Sintaxe
SHOW ACCESSSHOW CLUSTER(S)
A instrução SHOW CLUSTER(S) retorna uma lista de clusters.
Todos os clusters disponíveis estão listados na tabela system.clusters.
Sintaxe
SHOW CLUSTER '<name>'
SHOW CLUSTERS [[NOT] LIKE|ILIKE '<pattern>'] [LIMIT <N>]Exemplos
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
A instrução SHOW SETTINGS retorna uma lista das configurações do sistema e seus valores.
Ela seleciona dados da tabela system.settings.
Sintaxe
SHOW [CHANGED] SETTINGS LIKE|ILIKE <name>Cláusulas
LIKE|ILIKE permitem especificar um padrão de correspondência para o nome da configuração. Ele pode conter curingas como % ou _. A cláusula LIKE diferencia maiúsculas de minúsculas; ILIKE, não.
Quando a cláusula CHANGED é usada, a consulta retorna apenas as configurações alteradas em relação aos valores padrão.
Exemplos
Consulta com a cláusula LIKE:
SHOW SETTINGS LIKE 'send_timeout';┌─name─────────┬─type────┬─value─┐
│ send_timeout │ Seconds │ 300 │
└──────────────┴─────────┴───────┘Consulta com a cláusula 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 │
└─────────────────────────────────────────┴──────────────┴───────┘Consulta com a cláusula CHANGED:
SHOW CHANGED SETTINGS ILIKE '%MEMORY%'┌─name─────────────┬─type───┬─value───────┐
│ max_memory_usage │ UInt64 │ 10000000000 │
└──────────────────┴────────┴─────────────┘SHOW SETTING
A instrução SHOW SETTING exibe o valor da configuração correspondente ao nome de configuração especificado.
Sintaxe
SHOW SETTING <name>Veja também
- tabela
system.settings
SHOW FILESYSTEM CACHES
Exemplos
SHOW FILESYSTEM CACHES┌─Caches────┐
│ s3_cache │
└───────────┘Veja também
- tabela
system.settings
SHOW ENGINES
A instrução SHOW ENGINES exibe o conteúdo da tabela system.table_engines,
que contém a descrição dos motores de tabela compatíveis com o servidor e informações sobre os recursos compatíveis.
Sintaxe
SHOW ENGINES [INTO OUTFILE filename] [FORMAT format]Veja também
- tabela system.table_engines
SHOW FUNCTIONS
A instrução SHOW FUNCTIONS exibe o conteúdo da tabela system.functions.
Sintaxe
SHOW FUNCTIONS [LIKE | ILIKE '<pattern>']Se qualquer uma das cláusulas LIKE ou ILIKE for especificada, a consulta retorna uma lista de funções do sistema cujos nomes correspondem ao <pattern> informado.
Veja também
- tabela
system.functions
SHOW MERGES
A instrução SHOW MERGES retorna uma lista de merges.
Todos os merges são listados na tabela system.merges:
| Coluna | Descrição |
|---|---|
table |
Nome da tabela. |
database |
Nome do banco de dados em que a tabela está. |
estimate_complete |
Tempo estimado para conclusão (em segundos). |
elapsed |
Tempo decorrido (em segundos) desde o início do merge. |
progress |
Percentual de trabalho concluído (0 a 100 por cento). |
is_mutation |
1 se este processo for uma mutação de parte. |
size_compressed |
Tamanho total dos dados compactados das partes mescladas. |
memory_usage |
Consumo de memória do processo de merge. |
Sintaxe
SHOW MERGES [[NOT] LIKE|ILIKE '<table_name_pattern>'] [LIMIT <N>]Exemplos
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
A instrução SHOW CREATE MASKING POLICY mostra os parâmetros usados na criação da política de mascaramento.
Sintaxe
SHOW CREATE MASKING POLICY name ON [database.]table