En SQL, vous pouvez utiliser le ALTER TABLE
instruction pour ajouter une ou plusieurs colonnes à une table existante.
Pour cela, utilisez le ADD
clause, suivie de la définition de la colonne. Séparez plusieurs colonnes par une virgule.
Spécifiez uniquement ADD
une fois (c'est-à-dire qu'il n'est pas nécessaire de le spécifier pour chaque colonne).
Ajouter une colonne
Voici un exemple de base où j'ajoute une colonne à une table existante.
ALTER TABLE Test ADD
column_2 varchar(50) NOT NULL;
Dans ce cas, j'ai ajouté une colonne appelée column_2 à la table appelée Test .
Cela aurait pu facilement être fait sur une seule ligne. Je n'utilise que deux lignes ici pour une meilleure lisibilité.
Juste pour être clair, le revoilà, mais cette fois je crée le tableau avant de le modifier.
CREATE TABLE Test
(
column_1 int IDENTITY NOT NULL PRIMARY KEY
);
ALTER TABLE Test ADD
column_2 varchar(50) NOT NULL;
Notez que les exemples de cette page ont été réalisés à l'aide de SQL Server. En fonction de votre SGBD, vous devrez peut-être modifier certains détails des définitions de colonne.
Par exemple IDENTITY
est la version de SQL Server de ce qui est parfois appelé AUTO_INCREMENT
dans d'autres SGBD (comme MySQL). Si vous utilisez SQLite, voici comment créer une colonne auto-incrémentée dans SQLite.
Ajouter plusieurs colonnes
Voici comment ajouter deux colonnes ou plus.
ALTER TABLE Test ADD
column_3 int NULL,
column_4 int NULL;
Comme mentionné, vous séparez simplement chaque colonne par une virgule.
Ajouter des contraintes
Vous pouvez également ajouter des contraintes à toutes les colonnes que vous ajoutez à une table existante. Voici un exemple.
ALTER TABLE Test ADD
column_5 int NOT NULL
CONSTRAINT u_column_5 UNIQUE;
Cet exemple ajoute une colonne appelée column_5 avec un UNIQUE
contrainte appelée u_column_5 .
Évidemment, le code réel que vous utiliserez dépendra du nom de la colonne et de la contrainte que vous ajoutez, ainsi que de son type. Par exemple, vous pouvez ajouter une contrainte de clé primaire, une contrainte de clé étrangère, une contrainte CHECK, etc.
De plus, ce n'est pas la seule façon d'ajouter des contraintes à une colonne. Si la colonne existe déjà, vous pouvez utiliser ADD CONSTRAINT
pour ajouter une contrainte sur la colonne existante.
L'ajout de la contrainte lorsque vous ajoutez la colonne vous évite simplement d'avoir à l'ajouter ultérieurement.