La commande ALTER TABLE permet de per­son­na­li­ser les tables dans Post­greSQL. Cette commande s’utilise avec une action, par exemple pour ajouter ou modifier des colonnes.

Qu’est-ce que la commande Post­greSQL ALTER TABLE ?

La commande ALTER TABLE est utilisée dans Post­greSQL pour modifier des tables exis­tantes. Elle peut être utilisée pour ajouter ou supprimer une colonne, ou pour la modifier selon vos besoins. De plus, Post­greSQL ALTER TABLE est utilisé pour définir ou supprimer des res­tric­tions sur une table dans le système de gestion de base de données (SGBD). Pour obtenir le résultat souhaité, vous devez spécifier la commande avec une action.

Syntaxe de ALTER TABLE

Pour une com­pré­hen­sion de base, il est utile de jeter un coup d’œil à la syntaxe de base de ALTER TABLE. Elle se présente comme suit :

ALTER TABLE nom_de_la_table action;
post­gresql

La commande pro­pre­ment dite est donc suivie du nom de la table à laquelle vous souhaitez apporter des mo­di­fi­ca­tions. Ensuite, vous spécifiez la commande Post­greSQL ALTER TABLE avec l’action souhaitée.

Conseil

Pour créer une nouvelle table, utilisez la commande CREATE TABLE dans Post­greSQL.

Exemples d’uti­li­sa­tion de Post­greSQL ALTER TABLE

Dans les pa­ra­graphes suivants, nous allons illustrer le fonc­tion­ne­ment de ALTER TABLE par des exemples pratiques. Nous allons créer un exemple de table nommée « Clients », qui contient ini­tia­le­ment trois colonnes et trois lignes. Elle se présente comme suit :

ID Nom Ville
1 Berland Paris
2 Wirth Marseille
3 Madiot Lille

On peut main­te­nant la per­son­na­li­ser de dif­fé­rentes manières avec ALTER TABLE dans Post­greSQL.

Ajouter une colonne avec Post­greSQL ADD COLUMN

Pour ajouter une colonne sup­plé­men­taire, utilisez ALTER TABLE en com­bi­nai­son avec Post­greSQL ADD COLUMN. Cette action a deux pa­ra­mètres : le nom de la colonne et le type de données de la colonne. La syntaxe est la suivante :

ALTER TABLE nom_de_la_table ADD COLUMN nom_de_la_colonne type de données;
post­gresql

Si nous voulons ajouter une colonne à notre table « Clients » pour les adresses, nous utilisons Post­greSQL ADD COLUMN comme suit :

ALTER TABLE Clients ADD COLUMN Adresse VARCHAR(255);
post­gresql

La nouvelle table étendue se présente donc comme suit :

ID Nom Ville Adresse
1 Berland Paris NULL
2 Wirth Marseille NULL
3 Madiot Lille NULL

Supprimer des colonnes avec DROP COLUMN

De la même manière, nous pouvons supprimer une colonne d’une table existante. Pour cela, nous utilisons Post­greSQL ALTER TABLE en com­bi­nai­son avec l’action DROP COLUMN. Le seul paramètre de cette action est le nom de la colonne. Voici la syntaxe :

ALTER TABLE nom_de_la_table DROP COLUMN nom_de_la_colonne;
post­gresql

Pour supprimer la colonne « Ville », nous utilisons ce code :

ALTER TABLE Clients DROP COLUMN Ville;
post­gresql

Le tableau ne comporte donc plus que trois colonnes :

ID Nom Adresse
1 Berlin NULL
2 Wirth NULL
3 Madiot NULL

Renommer des colonnes avec RENAME COLUMN

Nous pouvons également renommer une colonne existante, ce qui peut être une bonne al­ter­na­tive à la sup­pres­sion ou à l’ajout de colonnes. La syntaxe de RENAME COLUMN dans ALTER TABLE est la suivante :

ALTER TABLE nom_de_la_table RENAME COLUMN nom_de_la_colonne TO nouveau_nom;
post­gresql

Ici, nous trans­for­mons la colonne « Nom » en « Nom du client » :

ALTER TABLE Clients RENAME COLUMN Nom TO Nom_du_client;
post­gresql

Dans notre table, seul le nom de la colonne change, comme nous le sou­hai­tions :

ID Nom du client Adresse
1 Berland NULL
2 Wirth NULL
3 Madiot NULL

Autres actions dans Post­greSQL pour ALTER TABLE

D’autres actions utiles avec ALTER TABLE incluent la mo­di­fi­ca­tion du type de données, la gestion des con­traintes et l’ajout de valeurs par défaut. Voici les prin­ci­pales commandes :

Pour modifier le type de données d’une colonne :

ALTER TABLE nom_de_la_table ALTER COLUMN nom_de_la_colonne SET DATA TYPE type_de_données;
post­gresql

Pour spécifier qu’une colonne doit recevoir une valeur :

ALTER TABLE nom_de_la_table ALTER COLUMN nom_de_la_colonne SET NOT NULL;
post­gresql

Pour établir des res­tric­tions telles que UNIQUE ou PRIMARY KEY pour une colonne, utilisez Post­greSQL ALTER TABLE en com­bi­nai­son avec l’action ADD CONSTRAINT :

ALTER TABLE nom_de_la_table ADD CONSTRAINT nom_de_la_contrainte UNIQUE (nom_de_la_colonne);
post­gresql
Aller au menu principal