Modifier la structure d'une table - ALTER TABLE

22 Sep 2019 22 Sep 2019 19735 vues ESSADDOUKI Mostafa 5 min de lecture

La commande ALTER TABLE en SQL

Définition

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

Description

La syntaxe de base d'une commande ALTER TABLE pour ajouter une nouvelle colonne dans une table existante est la suivante :

   
ALTER TABLE ... ADD (colonne) SQL
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 ... ADD CONSTRAINT SQL
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 ... DROP COLUMN SQL
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;
Attention !

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 ... DROP CONSTRAINT SQL
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

Description

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 ... MODIFY SQL
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;
Attention !

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érationSyntaxeDescription
ADD COLUMNALTER TABLE table ADD colonne type;Ajoute une nouvelle colonne
ADD CONSTRAINTALTER TABLE table ADD CONSTRAINT nom type (colonne);Ajoute une contrainte
DROP COLUMNALTER TABLE table DROP COLUMN colonne;Supprime une colonne
DROP CONSTRAINTALTER TABLE table DROP CONSTRAINT nom;Supprime une contrainte
MODIFY COLUMNALTER TABLE table MODIFY colonne nouveau_type;Modifie le type d'une colonne
 Exercice pratique

Utilisation de ALTER TABLE

 Niveau : Débutant

En utilisant la table Employes, écrivez les requêtes SQL pour :

  1. Ajouter une colonne "Telephone" de type VARCHAR(15).
  2. Ajouter une contrainte UNIQUE sur la colonne Telephone.
  3. Modifier la colonne "Adresse" (si elle existe) pour qu'elle soit NOT NULL.
  4. Supprimer la colonne "Age".
Points clés à retenir
  • 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.