PostgreSQL Créer une table

PostgreSQL utilise l'instruction CREATE TABLE pour créer des tables de base de données.

Syntaxe

CREATE TABLELe format de syntaxe est le suivant :

CREATE TABLE table_name(
   column1 datatype,
   column2 datatype,
   column3 datatype,
   .....
   columnN datatype,
   PRIMARY KEY( 一个或多个列 )
);

CREATE TABLEest un mot-clé utilisé pour indiquer au système de base de données qu'une table de données va être créée.

Le nom de table doit être unique parmi les autres tables, séquences, index, vues ou noms de tables étrangères dans le même schéma.

CREATE TABLECrée une nouvelle table vide dans la base de données actuelle ; la table appartiendra à l'utilisateur qui émet cette commande.

Chaque champ de la table définit un type de données, comme suit :

Exemple

Ce qui suit crée une table avec le nom de tableCOMPANYtable, avec la clé primaire étantID,NOT NULLindique que le champ n'autorise pasNULLvaleur :

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

Ensuite, créons une autre table qui sera utilisée dans les chapitres suivants :

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

Nous pouvons utiliser la\dcommande pour vérifier si la table a été créée avec succès :

exampledb=# \d
           List of relations
 Schema |    Name    | Type  |  Owner   
--------+------------+-------+----------
 public | company    | table | postgres
 public | department | table | postgres
(2 rows)

\d tablenameAfficher les informations de la table :

exampledb=# \d company
                  Table "public.company"
 Column  |     Type      | Collation | Nullable | Default 
---------+---------------+-----------+----------+---------
 id      | integer       |           | not null | 
 name    | text          |           | not null | 
 age     | integer       |           | not null | 
 address | character(50) |           |          | 
 salary  | real          |           |          | 
Indexes:
    "company_pkey" PRIMARY KEY, btree (id)
Autres extensions