La commande CREATE TABLE permet de créer une nouvelle table dans une base de données Post­greSQL. En l’utilisant, vous dé­fi­nis­sez im­mé­dia­te­ment les colonnes et leurs spé­ci­fi­ca­tions, comme le type de données et les con­traintes associées.

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

La commande CREATE TABLE est utilisée dans Post­greSQL pour créer une nouvelle table dans une base de données existante. Chaque table et ses colonnes doivent avoir un nom unique dans la base de données. Les colonnes reçoivent un nom et un type de données qu’elles doivent contenir. Vous pouvez également définir des con­traintes sur certaines ou toutes les colonnes dès leur création.

Syntaxe et fonc­tion­ne­ment de CREATE TABLE

La syntaxe de base de Post­greSQL CREATE TABLE est la suivante :

CREATE TABLE nom_de_la_table (
    colonne1 type_de_données PRIMARY KEY,
    colonne2 type_de_données,
    colonne3 type_de_données
);
post­gresql

Vous commencez donc par utiliser la commande prin­ci­pale CREATE TABLE pour demander à Post­greSQL de créer une nouvelle table. Vous la nommez ensuite avec un nom unique. Les noms des colonnes et les types de données autorisés sont indiqués entre pa­ren­thèses.

Si vous souhaitez inclure des con­traintes, la syntaxe n’est pas la même :

CREATE TABLE nom_de_la_table (
    colonne1 type_de_données PRIMARY KEY,
    colonne2 type_de_données NOT NULL,
    colonne3 type_de_données UNIQUE
);
post­gresql

Post­greSQL supporte les types de res­tric­tions suivants, en plus de PRIMARY KEY :

  • NOT NULL : la colonne en question ne peut pas contenir de valeurs NULL.
  • UNIQUE : permet de s’assurer que toutes les valeurs d’une colonne ou d’une com­bi­nai­son de colonnes sont uniques.
  • CHECK : s’utilise pour définir les con­di­tions qui doivent être remplies lorsque vous insérez ou mettez à jour des données.
  • FOREIGN KEY : pour définir des liens avec une colonne au sein d’une autre table.
  • DEFAULT : définit une valeur par défaut pour une colonne si aucune valeur explicite n’est spécifiée lors de l’insertion.

Exemple pratique de Post­greSQL CREATE TABLE

Le fonc­tion­ne­ment de CREATE TABLE dans Post­greSQL sera sûrement plus clair avec un exemple pratique. Pour cela, nous allons créer une nouvelle table appelée « Liste des clients ». Celle-ci doit contenir quatre colonnes : « ID », « Nom », « Pays » et « Adresse ». Nous dé­fi­nis­sons « ID » comme PRIMARY KEY et dé­fi­nis­sons que les colonnes « ID » et « Nom » ne doivent pas rester vides. Voici à quoi ressemble le code cor­res­pon­dant :

CREATE TABLE Liste_des_clients (
    ID SERIAL PRIMARY KEY NOT NULL,
    Nom VARCHAR(50) NOT NULL,
    Pays VARCHAR(50),
    Adresse VARCHAR(255)
CREATE TABLE liste_des_clients (
);
post­gresql

La base de données va main­te­nant créer une table vide avec ce nom et les colonnes que vous avez définies, que vous pouvez ensuite remplir avec des valeurs. La sortie de la table remplie res­sem­blera à ceci :

ID Nom Pays Adresse
1 Maxime Morêt France 10, rue des Lilas, 75015 Paris
2 Jean Dupont Belgique 12, avenue Louise, 1000 Bruxelles
3 Sophie Tremblay Canada 22, rue Saint-Laurent, Montréal

Voir les tables créées avec \d

Pour vous assurer que la commande Post­greSQL CREATE TABLE a réussi, vous pouvez utiliser la commande \dt. Elle vous permet de lister toutes les tables d’une base de données. Voici comment l’utiliser :

testdb-# \dt
post­gresql

Vous pouvez également utiliser la commande \d nom_de_la_table pour obtenir une des­crip­tion détaillée d’une table spé­ci­fique. Pour afficher les spé­ci­fi­ca­tions de notre table d’exemple, utilisez la commande suivante :

testdb=# \d liste_des_clients
post­gresql
Aller au menu principal