PostgreSQL - Table CREATE

L'instruction PostgreSQL CREATE TABLE est utilisée pour créer une nouvelle table dans n'importe quelle base de données donnée.

Syntaxe

La syntaxe de base de l'instruction CREATE TABLE est la suivante -

CREATE TABLE table_name(
   column1 datatype,
   column2 datatype,
   column3 datatype,
   .....
   columnN datatype,
   PRIMARY KEY( one or more columns )
);

CREATE TABLE est un mot-clé, indiquant au système de base de données de créer une nouvelle table. Le nom ou l'identificateur unique de la table suit l'instruction CREATE TABLE. Au départ, la table vide de la base de données actuelle appartient à l'utilisateur qui émet la commande.

Ensuite, entre parenthèses, vient la liste, définissant chaque colonne du tableau et de quel type de données il s'agit. La syntaxe deviendra claire avec un exemple donné ci-dessous.

Exemples

Voici un exemple qui crée une table COMPANY avec ID comme clé primaire et NOT NULL sont les contraintes montrant que ces champs ne peuvent pas être NULL lors de la création d'enregistrements dans cette table -

CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
);

Créons un autre tableau, que nous utiliserons dans nos exercices dans les chapitres suivants -

CREATE TABLE DEPARTMENT(
   ID INT PRIMARY KEY      NOT NULL,
   DEPT           CHAR(50) NOT NULL,
   EMP_ID         INT      NOT NULL
);

Vous pouvez vérifier si votre table a été créée avec succès en utilisant \d commande, qui sera utilisée pour lister toutes les tables d'une base de données attachée.

testdb-# \d

L'instruction PostgreSQL donnée ci-dessus produira le résultat suivant -

List of relations
 Schema |    Name    | Type  |  Owner
--------+------------+-------+----------
 public | company    | table | postgres
 public | department | table | postgres
(2 rows)

Utilisation \d tablename pour décrire chaque tableau comme indiqué ci-dessous -

testdb-# \d company

L'instruction PostgreSQL donnée ci-dessus produira le résultat suivant -

Table "public.company"
  Column   |     Type      | Modifiers
-----------+---------------+-----------
 id        | integer       | not null
 name      | text          | not null
 age       | integer       | not null
 address   | character(50) |
 salary    | real          |
 join_date | date          |
Indexes:
    "company_pkey" PRIMARY KEY, btree (id)