Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

SHOW

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

Syntaxsql
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

Syntaxsql
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:

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

Também podemos fazer isso sem diferenciar maiúsculas de minúsculas:

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

Ou obtenha os nomes dos bancos de dados que não contêm 'de' no nome:

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

Por fim, podemos obter os nomes apenas dos dois primeiros bancos de dados:

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

Veja também

SHOW TABLES

A instrução SHOW TABLES exibe uma lista de tabelas.

Sintaxe

Syntaxsql
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:

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

Também é possível fazer isso sem diferenciar maiúsculas de minúsculas:

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

Ou, para encontrar tabelas cujos nomes não contenham a letra 's':

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

Por fim, podemos obter os nomes apenas das duas primeiras tabelas:

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

Veja também

SHOW COLUMNS

A instrução SHOW COLUMNS mostra uma lista de colunas.

Sintaxe

Syntaxsql
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_':

Querysql
SHOW COLUMNS FROM 'orders' LIKE 'delivery_%'
Responsetext
┌─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

Syntaxsql
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.

Querysql
SHOW DICTIONARIES FROM db LIKE '%reg%' LIMIT 2
Responsetext
┌─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

Syntaxsql
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'

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

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

Syntaxsql
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

Syntaxsql
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

Syntaxsql
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

Syntaxsql
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

Syntaxsql
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

Syntaxsql
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

Syntaxsql
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

Syntaxsql
SHOW USERS

SHOW 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

Syntaxsql
SHOW [CURRENT|ENABLED] ROLES

SHOW 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

Syntaxsql
SHOW [SETTINGS] PROFILES

SHOW 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

Syntaxsql
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

Syntaxsql
SHOW QUOTAS

SHOW 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

Syntaxsql
SHOW [CURRENT] QUOTA

SHOW ACCESS

A instrução SHOW ACCESS mostra todos os usuários, funções, perfis etc. e todos os privilégios concedidos a eles.

Sintaxe

Syntaxsql
SHOW ACCESS

SHOW 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

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

Exemplos

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

A instrução SHOW SETTINGS retorna uma lista das configurações do sistema e seus valores. Ela seleciona dados da tabela system.settings.

Sintaxe

Syntaxsql
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:

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

Consulta com a cláusula 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   │
└─────────────────────────────────────────┴──────────────┴───────┘

Consulta com a cláusula CHANGED:

Querysql
SHOW CHANGED SETTINGS ILIKE '%MEMORY%'
Responsetext
┌─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

Syntaxsql
SHOW SETTING <name>

Veja também

SHOW FILESYSTEM CACHES

Exemplos

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

Veja também

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

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

Veja também

SHOW FUNCTIONS

A instrução SHOW FUNCTIONS exibe o conteúdo da tabela system.functions.

Sintaxe

Syntaxsql
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

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

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

Exemplos

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

A instrução SHOW CREATE MASKING POLICY mostra os parâmetros usados na criação da política de mascaramento.

Sintaxe

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