La commande SQL ALTER TABLE est utilisée pour ajouter, supprimer ou modifier des colonnes dans une table existante. Vous devriez également utiliser la commande ALTER TABLE pour ajouter et supprimer diverses contraintes sur une table existante.
Syntaxe
La syntaxe de base d’une commande ALTER TABLE pour ajouter une nouvelle colonne dans une table existante est la suivante .
ALTER TABLE table_name ADD column_name datatype;
La syntaxe de base d’une commande ALTER TABLE pour DROP COLUMN dans une table existante est la suivante.
ALTER TABLE table_name DROP COLUMN column_name;
La syntaxe de base d’une commande ALTER TABLE pour modifier le TYPE DE DONNÉES d’une colonne dans une table est la suivante .
ALTER TABLE table_name MODIFY COLUMN column_name datatype;
La syntaxe de base d’une commande ALTER TABLE pour ajouter une contrainte NOT NULL à une colonne dans une table est la suivante.
ALTER TABLE table_name MODIFY column_name datatype NOT NULL;
La syntaxe de base d’ALTER TABLE pour AJOUTER UNE CONSTRAINT UNIQUE à une table est la suivante.
ALTER TABLE table_name ADD CONSTRAINT MyUniqueConstraint UNIQUE(column1, column2...);
La syntaxe de base d’une commande ALTER TABLE pour ADD CHECK CONSTRAINT à une table est la suivante.
ALTER TABLE table_name ADD CONSTRAINT MyUniqueConstraint CHECK (CONDITION);
La syntaxe de base d’une commande ALTER TABLE pour ADD PRIMARY KEY constraint à une table est la suivante.
ALTER TABLE table_name ADD CONSTRAINT MyPrimaryKey PRIMARY KEY (column1, column2...);
La syntaxe de base d’une commande ALTER TABLE pour DROP CONSTRAINT d’une table est la suivante.
ALTER TABLE table_name DROP CONSTRAINT MyUniqueConstraint;
Si vous utilisez MySQL, le code est le suivant –
ALTER TABLE table_name DROP INDEX MyUniqueConstraint;
La syntaxe de base d’une commande ALTER TABLE pour DROP la contrainte PRIMARY KEY d’une table est la suivante .
ALTER TABLE table_name DROP CONSTRAINT MyPrimaryKey;
Si vous utilisez MySQL, le code est le suivant –
ALTER TABLE table_name DROP PRIMARY KEY;
Exemple
Considérons la table CUSTOMERS ayant les enregistrements suivants –
+----+----------+-----+-----------+----------+| ID | NAME | AGE | ADDRESS | SALARY |+----+----------+-----+-----------+----------+| 1 | Ramesh | 32 | Ahmedabad | 2000.00 || 2 | Khilan | 25 | Delhi | 1500.00 || 3 | kaushik | 23 | Kota | 2000.00 || 4 | Chaitali | 25 | Mumbai | 6500.00 || 5 | Hardik | 27 | Bhopal | 8500.00 || 6 | Komal | 22 | MP | 4500.00 || 7 | Muffy | 24 | Indore | 10000.00 |+----+----------+-----+-----------+----------+
Voici l’exemple pour AJOUTER une nouvelle colonne à une table existante –
ALTER TABLE CUSTOMERS ADD SEX char(1);
Maintenant , la table CUSTOMERS est modifiée et l’instruction SELECT produit les résultats suivants.
+----+---------+-----+-----------+----------+------+| ID | NAME | AGE | ADDRESS | SALARY | SEX |+----+---------+-----+-----------+----------+------+| 1 | Ramesh | 32 | Ahmedabad | 2000.00 | NULL || 2 | Ramesh | 25 | Delhi | 1500.00 | NULL || 3 | kaushik | 23 | Kota | 2000.00 | NULL || 4 | kaushik | 25 | Mumbai | 6500.00 | NULL || 5 | Hardik | 27 | Bhopal | 8500.00 | NULL || 6 | Komal | 22 | MP | 4500.00 | NULL || 7 | Muffy | 24 | Indore | 10000.00 | NULL |+----+---------+-----+-----------+----------+------+
Voici l’exemple pour DROP la colonne sexe de la table existante.
ALTER TABLE CUSTOMERS DROP SEX;
Maintenant, la table CUSTOMERS est modifiée et ce qui suit serait la sortie de l’instruction SELECT.
+----+---------+-----+-----------+----------+| ID | NAME | AGE | ADDRESS | SALARY |+----+---------+-----+-----------+----------+| 1 | Ramesh | 32 | Ahmedabad | 2000.00 || 2 | Ramesh | 25 | Delhi | 1500.00 || 3 | kaushik | 23 | Kota | 2000.00 || 4 | kaushik | 25 | Mumbai | 6500.00 || 5 | Hardik | 27 | Bhopal | 8500.00 || 6 | Komal | 22 | MP | 4500.00 || 7 | Muffy | 24 | Indore | 10000.00 |+----+---------+-----+-----------+----------+
.