Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

SHOW

SHOW CREATE TABLE | DICTIONARY | VIEW | DATABASE

Ces instructions renvoient une unique colonne de type String, contenant la requête CREATE utilisée pour créer l'objet indiqué.

Syntaxe

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

SHOW DATABASES

Cette instruction affiche la liste de toutes les bases de données.

Syntaxe

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

Elle est identique à la requête :

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

Exemples

Dans cet exemple, nous utilisons SHOW pour afficher les noms des bases de données contenant la séquence de caractères 'de' dans leur nom :

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

Nous pouvons également le faire sans tenir compte de la casse :

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

Ou obtenez les noms des bases de données qui ne contiennent pas 'de' :

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

Enfin, nous pouvons obtenir les noms des deux premières bases de données :

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

Voir aussi

SHOW TABLES

L’instruction SHOW TABLES affiche la liste des tables.

Syntaxe

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

Si la clause FROM n'est pas spécifiée, la requête renvoie la liste des tables de la base de données courante.

Cette instruction est identique à la requête suivante :

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

Exemples

Dans cet exemple, nous utilisons l’instruction SHOW TABLES pour répertorier toutes les tables contenant 'user' dans leur nom :

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

Nous pouvons également le faire sans tenir compte de la casse :

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

Ou, pour trouver des tables dont le nom ne contient pas la lettre 's' :

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

Enfin, nous pouvons obtenir uniquement les noms des deux premières tables :

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

Voir aussi

SHOW COLUMNS

L’instruction SHOW COLUMNS affiche la liste des colonnes.

Syntaxe

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

Le nom de la base de données et de la table peut être indiqué sous une forme abrégée, <db>.<table>, ce qui signifie que FROM tab FROM db et FROM db.tab sont équivalents. Si aucune base de données n'est indiquée, la requête renvoie la liste des colonnes de la base de données courante.

Il existe également deux mots-clés optionnels : EXTENDED et FULL. Le mot-clé EXTENDED n'a actuellement aucun effet et existe pour la compatibilité avec MySQL. Le mot-clé FULL ajoute à la sortie les colonnes collation, commentaire et privilège.

L'instruction SHOW COLUMNS produit un tableau de résultats avec la structure suivante :

Colonne Description Type
field Le nom de la colonne String
type Le type de données de la colonne. Si la requête a été effectuée via le MySQL wire protocol, le type équivalent dans MySQL est affiché. String
null YES si le type de données de la colonne est Nullable, sinon NO String
key PRI si la colonne fait partie de la clé primaire, SOR si la colonne fait partie de la clé de tri, vide sinon String
default Expression par défaut de la colonne si elle est de type ALIAS, DEFAULT ou MATERIALIZED, sinon NULL. Nullable(String)
extra Informations supplémentaires, actuellement inutilisées String
collation (uniquement si le mot-clé FULL a été spécifié) Collation de la colonne, toujours NULL car ClickHouse n'a pas de collations par colonne Nullable(String)
comment (uniquement si le mot-clé FULL a été spécifié) Commentaire de la colonne String
privilege (uniquement si le mot-clé FULL a été spécifié) Le privilège dont vous disposez sur cette colonne, actuellement indisponible String

Exemples

Dans cet exemple, nous utiliserons l’instruction SHOW COLUMNS pour obtenir des informations sur toutes les colonnes de la table 'orders', à 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 │         │ ᴺᵁᴸᴸ    │       │
└─────────────────┴──────────┴──────┴─────────┴─────────┴───────┘

Voir aussi

SHOW DICTIONARIES

L’instruction SHOW DICTIONARIES affiche la liste des Dictionaries.

Syntaxe

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

Si la clause FROM n'est pas spécifiée, la requête renvoie la liste des dictionnaires de la base de données courante.

Vous pouvez obtenir le même résultat que la requête SHOW DICTIONARIES de la manière suivante :

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

Exemples

La requête suivante sélectionne les deux premières lignes de la liste des tables dans la base de données system, dont le nom contient reg.

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

SHOW INDEX

Affiche une liste des index primaires et des index de saut de données d’une table.

Cette instruction existe principalement pour assurer la compatibilité avec MySQL. Les tables système system.tables (pour les clés primaires) et system.data_skipping_indices (pour les index de saut de données) fournissent des informations équivalentes, mais d’une manière plus conforme aux usages natifs de ClickHouse.

Syntaxe

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

Le nom de la base de données et celui de la table peuvent être indiqués sous forme abrégée sous la forme <db>.<table> ; autrement dit, FROM tab FROM db et FROM db.tab sont équivalents. Si aucune base de données n'est spécifiée, la requête utilise la base de données courante.

Le mot-clé facultatif EXTENDED n'a actuellement aucun effet et est présent pour assurer la compatibilité avec MySQL.

L'instruction produit un tableau de résultats ayant la structure suivante :

Column Description Type
table Le nom de la table. String
non_unique Toujours 1, car ClickHouse ne prend pas en charge les contraintes d'unicité. UInt8
key_name Le nom de l'index ; PRIMARY si l'index est un index de clé primaire. String
seq_in_index Pour un index de clé primaire, la position de la colonne à partir de 1. Pour un index de saut de données : toujours 1. UInt8
column_name Pour un index de clé primaire, le nom de la colonne. Pour un index de saut de données : '' (chaîne vide), voir le champ "expression". String
collation L'ordre de tri de la colonne dans l'index : A pour croissant, D pour décroissant, NULL si non trié. Nullable(String)
cardinality Une estimation de la cardinalité de l'index (nombre de valeurs uniques dans l'index). Actuellement toujours 0. UInt64
sub_part Toujours NULL, car ClickHouse ne prend pas en charge les préfixes d'index comme MySQL. Nullable(String)
packed Toujours NULL, car ClickHouse ne prend pas en charge les index compactés (comme MySQL). Nullable(String)
null Actuellement inutilisé.
index_type Le type d'index, par ex. PRIMARY, MINMAX, BLOOM_FILTER, etc. String
comment Informations supplémentaires sur l'index, actuellement toujours '' (chaîne vide). String
index_comment '' (chaîne vide), car les index dans ClickHouse ne peuvent pas avoir de champ COMMENT (comme dans MySQL). String
visible Si l'index est visible pour l'optimiseur, toujours YES. String
expression Pour un index de saut de données, l'expression de l'index. Pour un index de clé primaire : '' (chaîne vide). String

Exemples

Dans cet exemple, nous utilisons l’instruction SHOW INDEX pour obtenir des informations sur tous les index de la table '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          │
└───────┴────────────┴──────────┴──────────────┴─────────────┴───────────┴─────────────┴──────────┴────────┴──────┴──────────────┴─────────┴───────────────┴─────────┴────────────┘

Voir aussi

SHOW PROCESSLIST

Affiche le contenu de la table system.processes, qui contient la liste des requêtes en cours de traitement à cet instant, à l’exception des requêtes SHOW PROCESSLIST.

Syntaxe

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

La requête SELECT * FROM system.processes renvoie des informations sur toutes les requêtes actuellement en cours d’exécution.

SHOW GRANTS

L’instruction SHOW GRANTS affiche les privilèges d’un utilisateur.

Syntaxe

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

Si aucun utilisateur n’est spécifié, la requête renvoie les privilèges de l’utilisateur courant.

Le modificateur WITH IMPLICIT permet d’afficher les privilèges implicites (par ex. GRANT SELECT ON system.one)

Le modificateur FINAL fusionne tous les privilèges accordés à l’utilisateur ainsi qu’à ses rôles attribués (avec héritage)

SHOW CREATE USER

L’instruction SHOW CREATE USER affiche les paramètres utilisés lors de la création de l’utilisateur.

Syntaxe

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

SHOW CREATE ROLE

L’instruction SHOW CREATE ROLE affiche les paramètres utilisés lors de la création du rôle.

Syntaxe

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

SHOW CREATE ROW POLICY

L’instruction SHOW CREATE ROW POLICY affiche les paramètres utilisés lors de la création d’une ROW POLICY.

Syntaxe

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

SHOW CREATE QUOTA

L’instruction SHOW CREATE QUOTA affiche les paramètres utilisés lors de la création du quota.

Syntaxe

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

SHOW CREATE SETTINGS PROFILE

L’instruction SHOW CREATE SETTINGS PROFILE affiche les paramètres utilisés lors de la création du profil de paramètres.

Syntaxe

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

SHOW USERS

L'instruction SHOW USERS renvoie la liste des noms des comptes utilisateur. Pour afficher les paramètres des comptes utilisateur, consultez la table système system.users.

Syntaxe

Syntaxsql
SHOW USERS

SHOW ROLES

L’instruction SHOW ROLES renvoie une liste de rôles. Pour consulter d’autres paramètres, reportez-vous aux tables système system.roles et system.role_grants.

Syntaxe

Syntaxsql
SHOW [CURRENT|ENABLED] ROLES

SHOW PROFILES

L’instruction SHOW PROFILES renvoie une liste de profils de paramètres. Pour afficher les paramètres des comptes d’utilisateur, consultez la table système settings_profiles.

Syntaxe

Syntaxsql
SHOW [SETTINGS] PROFILES

SHOW POLICIES

L’instruction SHOW POLICIES renvoie une liste des politiques de ligne pour la table spécifiée. Pour consulter les paramètres des comptes utilisateur, voir la table système system.row_policies.

Syntaxe

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

SHOW QUOTAS

L’instruction SHOW QUOTAS renvoie une liste de quotas. Pour consulter les paramètres des quotas, reportez-vous à la table système system.quotas.

Syntaxe

Syntaxsql
SHOW QUOTAS

SHOW QUOTA

L’instruction SHOW QUOTA renvoie la consommation du quota pour tous les utilisateurs ou pour l’utilisateur courant. Pour afficher d’autres paramètres, consultez les tables système system.quotas_usage et system.quota_usage.

Syntaxe

Syntaxsql
SHOW [CURRENT] QUOTA

SHOW ACCESS

L’instruction SHOW ACCESS affiche tous les utilisateurs, rôles, profils, etc., ainsi que toutes leurs autorisations.

Syntaxe

Syntaxsql
SHOW ACCESS

SHOW CLUSTER(S)

L’instruction SHOW CLUSTER(S) renvoie une liste de clusters. Tous les clusters disponibles sont répertoriés dans la table system.clusters.

Syntaxe

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

Exemples

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

L’instruction SHOW SETTINGS renvoie la liste des paramètres système et de leurs valeurs. Elle extrait les données de la table system.settings.

Syntaxe

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

Clauses

LIKE|ILIKE permettent de définir un motif de correspondance pour le nom du paramètre. Ce motif peut contenir des caractères génériques tels que % ou _. La clause LIKE est sensible à la casse, ILIKE ne l'est pas.

Lorsque la clause CHANGED est utilisée, la requête renvoie uniquement les paramètres dont la valeur diffère de leur valeur par défaut.

Exemples

Requête avec la clause LIKE :

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

Requête utilisant la clause 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   │
└─────────────────────────────────────────┴──────────────┴───────┘

Requête avec la clause CHANGED :

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

SHOW SETTING

L’instruction SHOW SETTING affiche la valeur du paramètre pour le nom de paramètre indiqué.

Syntaxe

Syntaxsql
SHOW SETTING <name>

Voir aussi

SHOW FILESYSTEM CACHES

Exemples

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

Voir aussi

SHOW ENGINES

L’instruction SHOW ENGINES affiche le contenu de la table system.table_engines, qui contient la description des moteurs de table pris en charge par le serveur, ainsi que des informations sur les fonctionnalités qu’ils prennent en charge.

Syntaxe

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

Voir aussi

SHOW FUNCTIONS

L’instruction SHOW FUNCTIONS affiche le contenu de la table system.functions.

Syntaxe

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

Si l’une des clauses LIKE ou ILIKE est spécifiée, la requête renvoie une liste des fonctions système dont le nom correspond au <pattern> fourni.

Voir aussi

SHOW MERGES

L’instruction SHOW MERGES renvoie la liste des fusions. Toutes les fusions sont répertoriées dans la table system.merges :

Colonne Description
table Nom de la table.
database Nom de la base de données à laquelle appartient la table.
estimate_complete Temps estimé avant la fin (en secondes).
elapsed Temps écoulé (en secondes) depuis le début de la fusion.
progress Pourcentage de travail effectué (de 0 à 100 %).
is_mutation 1 si ce processus correspond à une mutation de part.
size_compressed Taille totale des données compressées des parts fusionnées.
memory_usage Consommation mémoire du processus de fusion.

Syntaxe

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

Exemples

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

L’instruction SHOW CREATE MASKING POLICY affiche les paramètres utilisés lors de la création d’une politique de masquage.

Syntaxe

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