La commande ALTER TABLE en SQL permet de modifier une table existante. Idéal pour ajouter une colonne, supprimer une colonne ou modifier une colonne existante, par exemple pour changer le type.
Syntaxe de base
D’une manière générale, la commande s’utilise de la manière suivante:
ALTER TABLE nom_table instruction
Le mot-clé “instruction” ici sert à désigner une commande supplémentaire, qui sera détaillée ci-dessous selon l’action que l’ont souhaite effectuer : ajouter, supprimer ou modifier une colonne.
Ajouter une colonne
Syntaxe
L’ajout d’une colonne dans une table est relativement simple et peut s’effectuer à l’aide d’une requête ressemblant à ceci:
ALTER TABLE nom_table ADD nom_colonne type_donnees
Exemple
Pour ajouter une colonne qui correspond à une rue sur une table utilisateur, il est possible d’utiliser la requête suivante:
ALTER TABLE utilisateur ADD adresse_rue VARCHAR(255)
Supprimer une colonne
Une syntaxe permet également de supprimer une colonne pour une table. Il y a 2 manières totalement équivalente pour supprimer une colonne:
ALTER TABLE nom_table DROP nom_colonne
Ou (le résultat sera le même)
ALTER TABLE nom_table DROP COLUMN nom_colonne
Modifier une colonne
Pour modifier une colonne, comme par exemple changer le type d’une colonne, il y a différentes syntaxes selon le SGBD.
MySQL
ALTER TABLE nom_table MODIFY nom_colonne type_donnees
PostgreSQL
ALTER TABLE nom_table ALTER COLUMN nom_colonne TYPE type_donnees
Ici, le mot-clé “type_donnees” est à remplacer par un type de données tel que INT, VARCHAR, TEXT, DATE …
Renommer une colonne
Pour renommer une colonne, il convient d’indiquer l’ancien nom de la colonne et le nouveau nom de celle-ci.
MySQL
Pour MySQL, il faut également indiquer le type de la colonne.
ALTER TABLE nom_table CHANGE colonne_ancien_nom colonne_nouveau_nom type_donnees
Ici “type_donnees” peut correspondre par exemple à INT, VARCHAR, TEXT, DATE …
PostgreSQL
Pour PostgreSQL la syntaxe est plus simple et ressemble à ceci (le type n’est pas demandé):
ALTER TABLE nom_table RENAME COLUMN colonne_ancien_nom TO colonne_nouveau_nom
Termes de recherche
Termes de recherche pour accéder à cette page :
- add column
- sql add column
- add column sql
- delete column
- rename column sql
- drop column