Skip to main content

Ajouter une colonne à une table

Nous utiliserons clickhouse-local :
Supposons que nous ayons la table suivante :
Ajoutons un enregistrement :
Et maintenant, interrogez la table events :

Ajout d’une nouvelle colonne

Supposons maintenant que nous voulions ajouter une nouvelle colonne appelée favoriteNumber, qui sera de type Float64. Nous pouvons le faire à l’aide de la clause ALTER TABLE...ADD COLUMN :
Si l’on interroge la table events, on obtient le résultat suivant :
La ligne Alexey a par défaut la valeur 7, puisque cette colonne n’existait pas lorsque nous avons ajouté cette ligne. Ensuite, ajoutons une autre colonne :
Si l’on interroge la table events, on verra le résultat suivant :

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

Si l’on modifie 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 interrogeons de nouveau events, nous verrons le résultat suivant :
Tyler conserve la valeur 7, qui était la valeur par défaut lorsque cette ligne a été créée. Alexey prend la nouvelle valeur par défaut de 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 :
Ensuite, insérez une autre ligne :
Enfin, interrogeons à nouveau events :
Tanya hérite de la nouvelle valeur par défaut 21, tandis que Alexey conserve l’ancienne valeur par défaut 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éterminer la position 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 figurer en tête de liste, nous pourrions procéder ainsi :
Voyons maintenant la définition de la table :
Dernière modification le 3 juillet 2026