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
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
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:
SHOW DATABASES LIKE '%de%'┌─name────┐
│ default │
└─────────┘También podemos hacerlo sin distinguir entre mayúsculas y minúsculas:
SHOW DATABASES ILIKE '%DE%'┌─name────┐
│ default │
└─────────┘O bien obtén los nombres de las bases de datos que no contengan 'de':
SHOW DATABASES NOT LIKE '%de%'┌─name───────────────────────────┐
│ _temporary_and_external_tables │
│ system │
│ test │
│ tutorial │
└────────────────────────────────┘Por último, podemos obtener los nombres de las dos primeras bases de datos únicamente:
SHOW DATABASES LIMIT 2┌─name───────────────────────────┐
│ _temporary_and_external_tables │
│ default │
└────────────────────────────────┘Véase también
SHOW TABLES
La sentencia SHOW TABLES muestra una lista de tablas.
Sintaxis
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:
SHOW TABLES FROM system LIKE '%user%'┌─name─────────────┐
│ user_directories │
│ users │
└──────────────────┘También podemos hacerlo sin distinguir mayúsculas de minúsculas:
SHOW TABLES FROM system ILIKE '%USER%'┌─name─────────────┐
│ user_directories │
│ users │
└──────────────────┘O bien, para encontrar tablas cuyos nombres no contienen la letra 's':
SHOW TABLES FROM system NOT LIKE '%s%'┌─name─────────┐
│ metric_log │
│ metric_log_0 │
│ metric_log_1 │
└──────────────┘Por último, podemos obtener los nombres de las dos primeras tablas:
SHOW TABLES FROM system LIMIT 2┌─name───────────────────────────┐
│ aggregate_function_combinators │
│ asynchronous_metric_log │
└────────────────────────────────┘Véase también
SHOW COLUMNS
La sentencia SHOW COLUMNS muestra una lista de columnas.
Sintaxis
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_':
SHOW COLUMNS FROM 'orders' LIKE 'delivery_%'┌─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
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.
SHOW DICTIONARIES FROM db LIKE '%reg%' LIMIT 2┌─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
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'
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 │
└───────┴────────────┴──────────┴──────────────┴─────────────┴───────────┴─────────────┴──────────┴────────┴──────┴──────────────┴─────────┴───────────────┴─────────┴────────────┘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
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
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
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
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
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
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
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
SHOW USERSSHOW 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
SHOW [CURRENT|ENABLED] ROLESSHOW 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
SHOW [SETTINGS] PROFILESSHOW 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
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
SHOW QUOTASSHOW 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
SHOW [CURRENT] QUOTASHOW ACCESS
La sentencia SHOW ACCESS muestra todos los usuarios, roles, perfiles, etc., y todos sus privilegios.
Sintaxis
SHOW ACCESSSHOW 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
SHOW CLUSTER '<name>'
SHOW CLUSTERS [[NOT] LIKE|ILIKE '<pattern>'] [LIMIT <N>]Ejemplos
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
La sentencia SHOW SETTINGS devuelve una lista de los ajustes del sistema y sus valores.
Selecciona datos de la tabla system.settings.
Sintaxis
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:
SHOW SETTINGS LIKE 'send_timeout';┌─name─────────┬─type────┬─value─┐
│ send_timeout │ Seconds │ 300 │
└──────────────┴─────────┴───────┘Consulta con la 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 con la cláusula CHANGED:
SHOW CHANGED SETTINGS ILIKE '%MEMORY%'┌─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
SHOW SETTING <name>Véase también
- tabla
system.settings
SHOW FILESYSTEM CACHES
Ejemplos
SHOW FILESYSTEM CACHES┌─Caches────┐
│ s3_cache │
└───────────┘Véase también
- la tabla
system.settings
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
SHOW ENGINES [INTO OUTFILE filename] [FORMAT format]Véase también
- tabla system.table_engines
SHOW FUNCTIONS
La sentencia SHOW FUNCTIONS muestra el contenido de la tabla system.functions.
Sintaxis
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
- Tabla
system.functions
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
SHOW MERGES [[NOT] LIKE|ILIKE '<table_name_pattern>'] [LIMIT <N>]Ejemplos
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
La sentencia SHOW CREATE MASKING POLICY muestra los parámetros utilizados al crear la política de enmascaramiento.
Sintaxis
SHOW CREATE MASKING POLICY name ON [database.]table