Skip to main content

Ajouter une colonne à une table

Nous allons utiliser clickhouse-local :
Imaginons que nous ayons la table suivante :
Ajoutons un enregistrement :
Interrogez maintenant la table events :

Ajout d’une nouvelle colonne

Supposons maintenant que nous voulions ajouter une nouvelle colonne appelée favoriteNumber, de type Float64. Nous pouvons le faire à l’aide de la clause ALTER TABLE...ADD COLUMN :
Si nous interrogeons la table events, nous verrons le résultat suivant :
La ligne Alexey vaut 7 par défaut, car cette colonne n’existait pas lorsque nous avons ajouté cette ligne. Ensuite, ajoutons une autre colonne :
Si nous interrogeons la table events, nous obtenons la sortie suivante :

Modification de la valeur par défaut d’une colonne

Si nous modifions la colonne favoriteNumber pour lui attribuer un type différent à l’aide de la clause ALTER TABLE...MODIFY COLUMN, les choses deviennent intéressantes :
Si nous exécutons à nouveau une requête sur events, nous verrons la sortie suivante :
Tyler conserve la valeur 7, qui était la valeur par défaut lorsque cette ligne a été créée. Alexey récupère la nouvelle valeur par défaut 99, car la colonne favoriteNumber n’existait pas lorsque cette ligne a été créée. Si nous voulons que la ligne Alexey utilise immédiatement la valeur par défaut actuelle, nous devons appeler OPTIMIZE TABLE pour forcer l’écriture des valeurs par défaut actuelles sur le disque :
Une fois cela fait, supposons que nous modifiions à nouveau la valeur par défaut :
Insérez ensuite une autre ligne :
Enfin, interrogeons à nouveau events :
Tanya récupère la nouvelle valeur par défaut de 21, mais Alexey conserve l’ancienne valeur par défaut de 99.

Contrôler la position d’une colonne dans une table

Lorsque nous ajoutons une nouvelle colonne, elle est ajoutée par défaut à la fin de la table. Nous pouvons toutefois utiliser les clauses FIRST et AFTER pour définir l’emplacement d’une colonne. Par exemple, si nous voulions ajouter une colonne appelée favoriteColor après la colonne name, nous pourrions procéder ainsi :
Interrogeons events :
Et si nous voulions ajouter une colonne favoriteDatabase et la faire apparaître en tête de liste, nous pourrions procéder ainsi :
Voyons maintenant la définition de la table :
Dernière modification le 14 août 2026