Syntaxe ALTER TABLE
La commande ALTER TABLE en SQL permet de modifier la structure d'une table existante. Cette modification peut se faire en ajoutant, modifiant ou supprimant des colonnes et des contraintes. Voici un aperçu des différentes syntaxes possibles pour utiliser la commande ALTER TABLE.
Ajouter une colonne
La syntaxe de base pour ajouter une colonne à une table existante est la suivante :
ALTER TABLE nom_table ADD nom_colonne type_colonne [contrainte_colonne];
nom_table
: le nom de la table à laquelle on ajoute la colonnenom_colonne
: le nom de la colonne à ajoutertype_colonne
: le type de données de la colonnecontrainte_colonne
: une ou plusieurs contraintes à appliquer sur la colonne (facultatif)
Exemple :
ALTER TABLE clients ADD telephone VARCHAR(15) NOT NULL;
Cette commande ajoute une nouvelle colonne telephone
à la table clients
avec le type de données VARCHAR(15)
et la contrainte NOT NULL
.
Modifier une colonne existante
La syntaxe pour modifier une colonne existante est la suivante :
ALTER TABLE nom_table ALTER COLUMN nom_colonne type_colonne [contrainte_colonne];
nom_table
: le nom de la table à modifiernom_colonne
: le nom de la colonne à modifiertype_colonne
: le nouveau type de données de la colonnecontrainte_colonne
: les nouvelles contraintes à appliquer sur la colonne (facultatif)
Exemple :
ALTER TABLE clients ALTER COLUMN telephone VARCHAR(20);
Cette commande modifie la colonne telephone
de la table clients
pour passer d'un VARCHAR(15)
à un VARCHAR(20)
.
Supprimer une colonne
La syntaxe pour supprimer une colonne est la suivante :
ALTER TABLE nom_table DROP COLUMN nom_colonne;
nom_table
: le nom de la table de laquelle on supprime la colonnenom_colonne
: le nom de la colonne à supprimer
Exemple :
ALTER TABLE clients DROP COLUMN telephone;
Cette commande supprime la colonne telephone
de la table clients
.
Ajouter une contrainte
La syntaxe pour ajouter une contrainte est la suivante :
ALTER TABLE nom_table ADD CONSTRAINT nom_contrainte type_contrainte (nom_colonne);
nom_table
: le nom de la table sur laquelle on ajoute la contraintenom_contrainte
: le nom de la contraintetype_contrainte
: le type de contrainte à ajouter (PRIMARY KEY, FOREIGN KEY, CHECK, UNIQUE)nom_colonne
: le nom de la colonne sur laquelle s'applique la contrainte
Exemple :
ALTER TABLE commandes ADD CONSTRAINT fk_clients FOREIGN KEY (id_client) REFERENCES clients(id);
Cette commande ajoute une contrainte FOREIGN KEY sur la colonne id_client
de la table commandes
, qui fait référence à la colonne id
de la table clients
.
Modifier une contrainte existante
La syntaxe pour modifier une contrainte existante dépend du type de contrainte en question. Voici quelques exemples :
Modifier une contrainte PRIMARY KEY
ALTER TABLE nom_table DROP CONSTRAINT nom_contrainte;
ALTER TABLE nom_table ADD CONSTRAINT nom_contrainte PRIMARY KEY (nom_colonne);
Modifier une contrainte FOREIGN KEY
ALTER TABLE nom_table DROP CONSTRAINT nom_contrainte;
ALTER TABLE nom_table ADD CONSTRAINT nom_contrainte FOREIGN KEY (nom_colonne) REFERENCES nom_table_reference (nom_colonne_reference);
Modifier une contrainte CHECK
ALTER TABLE nom_table DROP CONSTRAINT nom_contrainte;
ALTER TABLE nom_table ADD CONSTRAINT nom_contrainte CHECK (condition);
Modifier une contrainte UNIQUE
ALTER TABLE nom_table DROP CONSTRAINT nom_contrainte;
ALTER TABLE nom_table ADD CONSTRAINT nom_contrainte UNIQUE (nom_colonne);
Supprimer une contrainte
La syntaxe pour supprimer une contrainte est la suivante :
ALTER TABLE nom_table DROP CONSTRAINT nom_contrainte;
nom_table
: le nom de la table sur laquelle on supprime la contraintenom_contrainte
: le nom de la contrainte à supprimer
Exemple :
ALTER TABLE commandes DROP CONSTRAINT fk_clients;
Cette commande supprime la contrainte FOREIGN KEY nommée fk_clients
de la table commandes
.
Conclusion
La commande ALTER TABLE permet donc de modifier la structure d'une table existante en ajoutant, modifiant ou supprimant des colonnes et des contraintes. Il est important de bien respecter la syntaxe de chaque commande afin de s'assurer que la modification se fasse correctement. Les exemples donnés dans cet article sont une bonne base pour commencer à utiliser la commande ALTER TABLE en SQL.
Sources :
La syntaxe ALTER TABLE est une commande SQL qui permet à un utilisateur d'effectuer des modifications structurelles à une table existante dans une base de données. Cette commande est utilisée pour ajouter, modifier, renommer ou supprimer des colonnes, des contraintes ou des index dans une table. Elle peut également être utilisée pour modifier la taille des données stockées dans une colonne, changer le type de colonne ou ajouter des valeurs par défaut ou des commentaires. La syntaxe ALTER TABLE est un outil très utile pour modifier rapidement le schéma d'une table, et elle est le moyen le plus rapide et le plus efficace pour modifier une table.
J'ai personnellement utilisé la syntaxe ALTER TABLE pour ajouter une nouvelle colonne à la table "Clients" d'une application web que j'ai développée. J'ai trouvé la syntaxe très simple à utiliser, et elle a permis de simplifier considérablement le processus de mise à jour du schéma de la base de données.