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
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
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 :
SHOW DATABASES LIKE '%de%'┌─name────┐
│ default │
└─────────┘Nous pouvons également le faire sans tenir compte de la casse :
SHOW DATABASES ILIKE '%DE%'┌─name────┐
│ default │
└─────────┘Ou obtenez les noms des bases de données qui ne contiennent pas 'de' :
SHOW DATABASES NOT LIKE '%de%'┌─name───────────────────────────┐
│ _temporary_and_external_tables │
│ system │
│ test │
│ tutorial │
└────────────────────────────────┘Enfin, nous pouvons obtenir les noms des deux premières bases de données :
SHOW DATABASES LIMIT 2┌─name───────────────────────────┐
│ _temporary_and_external_tables │
│ default │
└────────────────────────────────┘Voir aussi
SHOW TABLES
L’instruction SHOW TABLES affiche la liste des tables.
Syntaxe
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 :
SHOW TABLES FROM system LIKE '%user%'┌─name─────────────┐
│ user_directories │
│ users │
└──────────────────┘Nous pouvons également le faire sans tenir compte de la casse :
SHOW TABLES FROM system ILIKE '%USER%'┌─name─────────────┐
│ user_directories │
│ users │
└──────────────────┘Ou, pour trouver des tables dont le nom ne contient pas la lettre 's' :
SHOW TABLES FROM system NOT LIKE '%s%'┌─name─────────┐
│ metric_log │
│ metric_log_0 │
│ metric_log_1 │
└──────────────┘Enfin, nous pouvons obtenir uniquement les noms des deux premières tables :
SHOW TABLES FROM system LIMIT 2┌─name───────────────────────────┐
│ aggregate_function_combinators │
│ asynchronous_metric_log │
└────────────────────────────────┘Voir aussi
SHOW COLUMNS
L’instruction SHOW COLUMNS affiche la liste des colonnes.
Syntaxe
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_':
SHOW COLUMNS FROM 'orders' LIKE 'delivery_%'┌─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
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.
SHOW DICTIONARIES FROM db LIKE '%reg%' LIMIT 2┌─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
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'
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 │
└───────┴────────────┴──────────┴──────────────┴─────────────┴───────────┴─────────────┴──────────┴────────┴──────┴──────────────┴─────────┴───────────────┴─────────┴────────────┘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
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
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
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
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
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
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
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
SHOW USERSSHOW 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
SHOW [CURRENT|ENABLED] ROLESSHOW 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
SHOW [SETTINGS] PROFILESSHOW 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
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
SHOW QUOTASSHOW 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
SHOW [CURRENT] QUOTASHOW ACCESS
L’instruction SHOW ACCESS affiche tous les utilisateurs, rôles, profils, etc., ainsi que toutes leurs autorisations.
Syntaxe
SHOW ACCESSSHOW 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
SHOW CLUSTER '<name>'
SHOW CLUSTERS [[NOT] LIKE|ILIKE '<pattern>'] [LIMIT <N>]Exemples
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
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
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 :
SHOW SETTINGS LIKE 'send_timeout';┌─name─────────┬─type────┬─value─┐
│ send_timeout │ Seconds │ 300 │
└──────────────┴─────────┴───────┘Requête utilisant la clause 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 │
└─────────────────────────────────────────┴──────────────┴───────┘Requête avec la clause CHANGED :
SHOW CHANGED SETTINGS ILIKE '%MEMORY%'┌─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
SHOW SETTING <name>Voir aussi
- table
system.settings
SHOW FILESYSTEM CACHES
Exemples
SHOW FILESYSTEM CACHES┌─Caches────┐
│ s3_cache │
└───────────┘Voir aussi
- table
system.settings
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
SHOW ENGINES [INTO OUTFILE filename] [FORMAT format]Voir aussi
- table system.table_engines
SHOW FUNCTIONS
L’instruction SHOW FUNCTIONS affiche le contenu de la table system.functions.
Syntaxe
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
- table
system.functions
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
SHOW MERGES [[NOT] LIKE|ILIKE '<table_name_pattern>'] [LIMIT <N>]Exemples
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
L’instruction SHOW CREATE MASKING POLICY affiche les paramètres utilisés lors de la création d’une politique de masquage.
Syntaxe
SHOW CREATE MASKING POLICY name ON [database.]table