Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

SHOW

SHOW CREATE TABLE | DICTIONARY | VIEW | DATABASE

Estas sentencias devuelven una única columna de tipo String, que contiene la consulta CREATE utilizada para crear el objeto especificado.

Sintaxis

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

SHOW DATABASES

Esta sentencia muestra una lista de todas las bases de datos.

Sintaxis

Syntaxsql
SHOW DATABASES [[NOT] LIKE | ILIKE '<pattern>'] [LIMIT <N>] [INTO OUTFILE filename] [FORMAT format]

Es equivalente a la consulta:

SELECT name FROM system.databases [WHERE name [NOT] LIKE | ILIKE '<pattern>'] [LIMIT <N>] [INTO OUTFILE filename] [FORMAT format]

Ejemplos

En este ejemplo usamos SHOW para obtener los nombres de las bases de datos que contienen la secuencia de caracteres 'de' en sus nombres:

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

También podemos hacerlo sin distinguir entre mayúsculas y minúsculas:

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

O bien obtén los nombres de las bases de datos que no contengan 'de':

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

Por último, podemos obtener los nombres de las dos primeras bases de datos únicamente:

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

Véase también

SHOW TABLES

La sentencia SHOW TABLES muestra una lista de tablas.

Sintaxis

Syntaxsql
SHOW [FULL] [TEMPORARY] TABLES [{FROM | IN} <db>] [[NOT] LIKE | ILIKE '<pattern>'] [LIMIT <N>] [INTO OUTFILE <filename>] [FORMAT <format>]

Si no se especifica la cláusula FROM, la consulta devuelve una lista de tablas de la base de datos actual.

Esta sentencia es idéntica a la siguiente consulta:

SELECT name FROM system.tables [WHERE name [NOT] LIKE | ILIKE '<pattern>'] [LIMIT <N>] [INTO OUTFILE <filename>] [FORMAT <format>]

Ejemplos

En este ejemplo, usamos la sentencia SHOW TABLES para encontrar todas las tablas que contienen 'user' en su nombre:

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

También podemos hacerlo sin distinguir mayúsculas de minúsculas:

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

O bien, para encontrar tablas cuyos nombres no contienen la letra 's':

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

Por último, podemos obtener los nombres de las dos primeras tablas:

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

Véase también

SHOW COLUMNS

La sentencia SHOW COLUMNS muestra una lista de columnas.

Sintaxis

Syntaxsql
SHOW [EXTENDED] [FULL] COLUMNS {FROM | IN} <table> [{FROM | IN} <db>] [{[NOT] {LIKE | ILIKE} '<pattern>' | WHERE <expr>}] [LIMIT <N>] [INTO
OUTFILE <filename>] [FORMAT <format>]

El nombre de la base de datos y de la tabla puede especificarse en forma abreviada como <db>.<table>, lo que significa que FROM tab FROM db y FROM db.tab son equivalentes. Si no se especifica ninguna base de datos, la consulta devuelve la lista de columnas de la base de datos actual.

También hay dos palabras clave opcionales: EXTENDED y FULL. La palabra clave EXTENDED actualmente no tiene ningún efecto y existe por compatibilidad con MySQL. La palabra clave FULL hace que la salida incluya las columnas collation, comment y privilege.

La instrucción SHOW COLUMNS genera una tabla de resultados con la siguiente estructura:

Columna Descripción Tipo
field El nombre de la columna String
type El tipo de dato de la columna. Si la consulta se realizó a través del MySQL wire protocol, se muestra el nombre de tipo equivalente en MySQL. String
null YES si el tipo de dato de la columna es Nullable, NO en caso contrario String
key PRI si la columna forma parte de la clave primaria, SOR si la columna forma parte de la clave de ordenación; vacío en caso contrario String
default Expresión predeterminada de la columna si es de tipo ALIAS, DEFAULT o MATERIALIZED; en caso contrario, NULL. Nullable(String)
extra Información adicional, actualmente sin usar String
collation (solo si se especificó la palabra clave FULL) Intercalación de la columna, siempre NULL porque ClickHouse no tiene intercalaciones por columna Nullable(String)
comment (solo si se especificó la palabra clave FULL) Comentario de la columna String
privilege (solo si se especificó la palabra clave FULL) El privilegio que tiene en esta columna, actualmente no disponible String

Ejemplos

En este ejemplo usaremos la instrucción SHOW COLUMNS para obtener información sobre todas las columnas de la tabla 'orders', a partir de '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 │         │ ᴺᵁᴸᴸ    │       │
└─────────────────┴──────────┴──────┴─────────┴─────────┴───────┘

Véase también

SHOW DICTIONARIES

La sentencia SHOW DICTIONARIES muestra una lista de Diccionarios.

Sintaxis

Syntaxsql
SHOW DICTIONARIES [FROM <db>] [LIKE '<pattern>'] [LIMIT <N>] [INTO OUTFILE <filename>] [FORMAT <format>]

Si no se especifica la cláusula FROM, la consulta devuelve la lista de diccionarios de la base de datos actual.

Puede obtener los mismos resultados que con la consulta SHOW DICTIONARIES de la siguiente manera:

SELECT name FROM system.dictionaries WHERE database = <db> [AND name LIKE <pattern>] [LIMIT <N>] [INTO OUTFILE <filename>] [FORMAT <format>]

Ejemplos

La siguiente consulta selecciona las dos primeras filas de la lista de tablas de la base de datos system cuyos nombres contienen reg.

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

SHOW INDEX

Muestra una lista de índices primarios y de omisión de datos de una tabla.

Esta sentencia existe principalmente por compatibilidad con MySQL. Las tablas del sistema system.tables (para las claves primarias) y system.data_skipping_indices (para los índices de omisión de datos) proporcionan información equivalente, pero de una manera más propia de ClickHouse.

Sintaxis

Syntaxsql
SHOW [EXTENDED] {INDEX | INDEXES | INDICES | KEYS } {FROM | IN} <table> [{FROM | IN} <db>] [WHERE <expr>] [INTO OUTFILE <filename>] [FORMAT <format>]

El nombre de la base de datos y de la tabla puede especificarse de forma abreviada como <db>.<table>; es decir, FROM tab FROM db y FROM db.tab son equivalentes. Si no se especifica ninguna base de datos, la consulta usa la base de datos actual.

La palabra clave opcional EXTENDED actualmente no tiene ningún efecto y existe por compatibilidad con MySQL.

La instrucción produce una tabla de resultados con la siguiente estructura:

Columna Descripción Tipo
table El nombre de la tabla. String
non_unique Siempre 1, ya que ClickHouse no admite restricciones de unicidad. UInt8
key_name El nombre del índice; PRIMARY si el índice es un índice de clave primaria. String
seq_in_index Para un índice de clave primaria, la posición de la columna a partir de 1. Para un índice de omisión de datos: siempre 1. UInt8
column_name Para un índice de clave primaria, el nombre de la columna. Para un índice de omisión de datos: '' (cadena vacía); consulte el campo "expression". String
collation El orden de la columna en el índice: A si es ascendente, D si es descendente, NULL si no está ordenada. Nullable(String)
cardinality Una estimación de la cardinalidad del índice (número de valores únicos en el índice). Actualmente siempre es 0. UInt64
sub_part Siempre NULL porque ClickHouse no admite prefijos de índice como MySQL. Nullable(String)
packed Siempre NULL porque ClickHouse no admite índices packed (como MySQL). Nullable(String)
null Actualmente no se utiliza
index_type El tipo de índice, p. ej., PRIMARY, MINMAX, BLOOM_FILTER, etc. String
comment Información adicional sobre el índice; actualmente siempre '' (cadena vacía). String
index_comment '' (cadena vacía) porque los índices de ClickHouse no pueden tener un campo COMMENT (como en MySQL). String
visible Si el índice es visible para el optimizador, siempre YES. String
expression Para un índice de omisión de datos, la expresión del índice. Para un índice de clave primaria: '' (cadena vacía). String

Ejemplos

En este ejemplo, usamos la sentencia SHOW INDEX para obtener información sobre todos los índices de la tabla '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          │
└───────┴────────────┴──────────┴──────────────┴─────────────┴───────────┴─────────────┴──────────┴────────┴──────┴──────────────┴─────────┴───────────────┴─────────┴────────────┘

Véase también

SHOW PROCESSLIST

Muestra el contenido de la tabla system.processes, que contiene una lista de las consultas que se están procesando en ese momento, excluidas las consultas SHOW PROCESSLIST.

Sintaxis

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

La consulta SELECT * FROM system.processes devuelve datos sobre todas las consultas en curso.

SHOW GRANTS

La sentencia SHOW GRANTS muestra los privilegios de un usuario.

Sintaxis

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

Si no se especifica el usuario, la consulta devuelve los privilegios del usuario actual.

El modificador WITH IMPLICIT permite mostrar los privilegios implícitos (p. ej., GRANT SELECT ON system.one)

El modificador FINAL combina todos los privilegios del usuario y los de sus roles concedidos (con herencia)

SHOW CREATE USER

La sentencia SHOW CREATE USER muestra los parámetros que se utilizaron al crear un usuario.

Sintaxis

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

SHOW CREATE ROLE

La sentencia SHOW CREATE ROLE muestra los parámetros que se utilizaron al crear el rol.

Sintaxis

Syntaxsql
SHOW CREATE ROLE name1 [, name2 ...]

SHOW CREATE ROW POLICY

La sentencia SHOW CREATE ROW POLICY muestra los parámetros utilizados en la creación de la ROW POLICY.

Sintaxis

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

SHOW CREATE QUOTA

La sentencia SHOW CREATE QUOTA muestra los parámetros utilizados en la creación de cuotas.

Sintaxis

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

SHOW CREATE SETTINGS PROFILE

La sentencia SHOW CREATE SETTINGS PROFILE muestra los parámetros utilizados al crear el perfil de configuración.

Sintaxis

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

SHOW USERS

La sentencia SHOW USERS devuelve una lista de nombres de cuentas de usuario. Para ver los parámetros de las cuentas de usuario, consulte la tabla del sistema system.users.

Sintaxis

Syntaxsql
SHOW USERS

SHOW ROLES

La sentencia SHOW ROLES devuelve una lista de roles. Para consultar otros parámetros, consulte las tablas del sistema system.roles y system.role_grants.

Sintaxis

Syntaxsql
SHOW [CURRENT|ENABLED] ROLES

SHOW PROFILES

La sentencia SHOW PROFILES devuelve una lista de perfiles de configuración. Para ver los parámetros de las cuentas de usuario, consulte la tabla del sistema settings_profiles.

Sintaxis

Syntaxsql
SHOW [SETTINGS] PROFILES

SHOW POLICIES

La sentencia SHOW POLICIES devuelve una lista de ROW POLICIES para la tabla especificada. Para ver los parámetros de las cuentas de usuario, consulte la tabla del sistema system.row_policies.

Sintaxis

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

SHOW QUOTAS

La sentencia SHOW QUOTAS devuelve una lista de cuotas. Para consultar los parámetros de las cuotas, vea la tabla del sistema system.quotas.

Sintaxis

Syntaxsql
SHOW QUOTAS

SHOW QUOTA

La sentencia SHOW QUOTA devuelve el consumo de cuota para todos los usuarios o para el usuario actual. Para ver otros parámetros, consulte las tablas del sistema system.quotas_usage y system.quota_usage.

Sintaxis

Syntaxsql
SHOW [CURRENT] QUOTA

SHOW ACCESS

La sentencia SHOW ACCESS muestra todos los usuarios, roles, perfiles, etc., y todos sus privilegios.

Sintaxis

Syntaxsql
SHOW ACCESS

SHOW CLUSTER(S)

La sentencia SHOW CLUSTER(S) devuelve una lista de clústeres. Todos los clústeres disponibles se muestran en la tabla system.clusters.

Sintaxis

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

Ejemplos

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

La sentencia SHOW SETTINGS devuelve una lista de los ajustes del sistema y sus valores. Selecciona datos de la tabla system.settings.

Sintaxis

Syntaxsql
SHOW [CHANGED] SETTINGS LIKE|ILIKE <name>

Cláusulas

LIKE|ILIKE permiten especificar un patrón de coincidencia para el nombre del SETTING. Puede contener comodines como % o _. La cláusula LIKE es sensible a mayúsculas y minúsculas; ILIKE, no.

Cuando se usa la cláusula CHANGED, la consulta devuelve solo los SETTING modificados con respecto a sus valores predeterminados.

Ejemplos

Consulta con la cláusula LIKE:

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

Consulta con la 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 con la cláusula CHANGED:

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

SHOW SETTING

La sentencia SHOW SETTING devuelve el valor del SETTING correspondiente al nombre de SETTING especificado.

Sintaxis

Syntaxsql
SHOW SETTING <name>

Véase también

SHOW FILESYSTEM CACHES

Ejemplos

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

Véase también

SHOW ENGINES

La sentencia SHOW ENGINES muestra el contenido de la tabla system.table_engines, que contiene la descripción de los motores de tabla admitidos por el servidor y la información sobre las funcionalidades que admiten.

Sintaxis

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

Véase también

SHOW FUNCTIONS

La sentencia SHOW FUNCTIONS muestra el contenido de la tabla system.functions.

Sintaxis

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

Si se especifica cualquiera de las cláusulas LIKE o ILIKE, la consulta devuelve una lista de funciones del sistema cuyos nombres coinciden con el <pattern> indicado.

Véase también

SHOW MERGES

La sentencia SHOW MERGES devuelve una lista de fusiones. Todas las fusiones se muestran en la tabla system.merges:

Columna Descripción
table Nombre de la tabla.
database Nombre de la base de datos en la que se encuentra la tabla.
estimate_complete Tiempo estimado para completarse (en segundos).
elapsed Tiempo transcurrido (en segundos) desde que comenzó la fusión.
progress Porcentaje de trabajo completado (del 0 al 100 %).
is_mutation 1 si este proceso es una mutación de parte.
size_compressed Tamaño total de los datos comprimidos de las partes fusionadas.
memory_usage Consumo de memoria del proceso de fusión.

Sintaxis

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

Ejemplos

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

La sentencia SHOW CREATE MASKING POLICY muestra los parámetros utilizados al crear la política de enmascaramiento.

Sintaxis

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