SQL - Commande ALTER TABLE

Le SQL ALTER TABLELa commande est utilisée pour ajouter, supprimer ou 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.

Syntaxe

La syntaxe de base d'une commande ALTER TABLE pour ajouter un New Column 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 DATA TYPE d'une colonne dans un tableau est comme suit.

ALTER TABLE table_name MODIFY COLUMN column_name datatype;

La syntaxe de base d'une commande ALTER TABLE pour ajouter un NOT NULL La contrainte à 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 ADD UNIQUE CONSTRAINT à une table est comme suit.

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 comme suit.

ALTER TABLE table_name 
ADD CONSTRAINT MyUniqueConstraint CHECK (CONDITION);

La syntaxe de base d'une commande ALTER TABLE pour ADD PRIMARY KEY la contrainte à 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 à partir d'une table est comme suit.

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 PRIMARY KEY la contrainte 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érez 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 un New Column à une table existante -

ALTER TABLE CUSTOMERS ADD SEX char(1);

À présent, la table CUSTOMERS est modifiée et les éléments suivants sont générés par l'instruction SELECT.

+----+---------+-----+-----------+----------+------+
| 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 supprimer la colonne de 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 |
+----+---------+-----+-----------+----------+