La commande ALTER TABLE en SQL
La commande SQL ALTER TABLE permet d'ajouter, de supprimer ou de modifier des colonnes dans une table existante. Vous devez également utiliser la commande ALTER TABLE pour ajouter et supprimer diverses contraintes sur une table existante.
Les trois opérations principales
- ADD : Ajouter une colonne ou une contrainte
- DROP : Supprimer une colonne ou une contrainte
- MODIFY : Modifier une colonne existante
1. ALTER TABLE avec ADD
Ajouter une colonne
La syntaxe de base d'une commande ALTER TABLE pour ajouter une nouvelle colonne dans une table existante est la suivante :
ALTER TABLE nom_table
ADD colonne1 type_donnees,
ADD colonne2 type_donnees,
...,
ADD colonneN type_donnees;Exemple n°1
Ajouter une colonne "adresse" à la table Employes.
ALTER TABLE Employes ADD Adresse Varchar(100);Après cette opération, la table Employes aura une nouvelle colonne Adresse (initialement NULL pour toutes les lignes existantes).
Ajouter une contrainte
ADD peut également être utilisé pour créer une contrainte sur les colonnes de la table.
ALTER TABLE nom_table
ADD CONSTRAINT nom_contrainte type_contrainte (colonne);Exemple n°2
Ajouter une contrainte CHECK sur la colonne Age (âge minimum 18 ans).
ALTER TABLE Employes
ADD CONSTRAINT ageContrainte CHECK (Age >= 18);Cette contrainte empêchera l'insertion ou la modification d'un employé avec un âge inférieur à 18 ans.
2. ALTER TABLE avec DROP
Supprimer une colonne
DROP COLUMN est utilisé pour supprimer une colonne dans une table.
ALTER TABLE nom_table
DROP COLUMN nom_colonne;Exemple n°3
Supprimer la colonne Age de la table Employes.
ALTER TABLE Employes
DROP COLUMN Age;La suppression d'une colonne entraîne la perte définitive de toutes les données de cette colonne. Cette opération est irréversible.
Supprimer une contrainte
DROP CONSTRAINT peut également être utilisé pour supprimer une contrainte sur les colonnes de la table.
ALTER TABLE nom_table
DROP CONSTRAINT nom_contrainte;Exemple n°4
Supprimer la contrainte ageContrainte sur la colonne Age.
ALTER TABLE Employes
DROP CONSTRAINT ageContrainte;Après cette opération, la contrainte CHECK n'est plus active et on pourra insérer des âges inférieurs à 18.
3. ALTER TABLE avec MODIFY
MODIFY est utilisé pour modifier les colonnes existantes dans une table (changer le type de données, la taille, etc.). Plusieurs colonnes peuvent également être modifiées à la fois.
ALTER TABLE nom_table
MODIFY nom_colonne nouveau_type_donnees;Exemple n°5
Changer le type de la colonne Age de INT à DATE.
ALTER TABLE Employes
MODIFY Age Date;La modification du type de données d'une colonne peut échouer si les données existantes ne sont pas compatibles avec le nouveau type (ex: convertir un texte en nombre).
Exemple n°6
Modifier la taille de la colonne Adresse (créée précédemment) de 100 à 255 caractères.
ALTER TABLE Employes
MODIFY Adresse Varchar(255);Récapitulatif des opérations ALTER TABLE
| Opération | Syntaxe | Description |
|---|---|---|
| ADD COLUMN | ALTER TABLE table ADD colonne type; | Ajoute une nouvelle colonne |
| ADD CONSTRAINT | ALTER TABLE table ADD CONSTRAINT nom type (colonne); | Ajoute une contrainte |
| DROP COLUMN | ALTER TABLE table DROP COLUMN colonne; | Supprime une colonne |
| DROP CONSTRAINT | ALTER TABLE table DROP CONSTRAINT nom; | Supprime une contrainte |
| MODIFY COLUMN | ALTER TABLE table MODIFY colonne nouveau_type; | Modifie le type d'une colonne |
Utilisation de ALTER TABLE
En utilisant la table Employes, écrivez les requêtes SQL pour :
- Ajouter une colonne "Telephone" de type VARCHAR(15).
- Ajouter une contrainte UNIQUE sur la colonne Telephone.
- Modifier la colonne "Adresse" (si elle existe) pour qu'elle soit NOT NULL.
- Supprimer la colonne "Age".
- Ajout de la colonne Telephone :
ALTER TABLE Employes ADD Telephone VARCHAR(15); - Contrainte UNIQUE sur Telephone :
ALTER TABLE Employes ADD CONSTRAINT unique_telephone UNIQUE (Telephone); - Modifier Adresse pour NOT NULL :
ALTER TABLE Employes MODIFY Adresse VARCHAR(255) NOT NULL;Note : Cette opération échouera s'il existe déjà des lignes avec Adresse NULL.
- Suppression de la colonne Age :
ALTER TABLE Employes DROP COLUMN Age;
- ALTER TABLE modifie la structure d'une table existante.
- ADD : ajoute une colonne ou une contrainte.
- DROP : supprime une colonne ou une contrainte.
- MODIFY : change le type ou les attributs d'une colonne.
- La suppression d'une colonne entraîne la perte des données de cette colonne.
- L'ajout d'une contrainte peut échouer si les données existantes ne respectent pas la contrainte.
- La modification du type d'une colonne peut échouer si les données ne sont pas compatibles.
- Certaines bases de données utilisent ALTER COLUMN au lieu de MODIFY (SQL Server) ou d'autres syntaxes.
Discussion (0)
Soyez le premier à laisser un commentaire !
Laisser un commentaire
Votre commentaire sera visible après modération.