Instruction INSERT INTO PostgreSQL

L'instruction INSERT INTO PostgreSQL est utilisée pour insérer de nouveaux enregistrements dans une table.

Nous pouvons insérer une ligne ou plusieurs lignes en même temps.

Syntaxe

Le format de syntaxe de l'instruction INSERT INTO est le suivant :

INSERT INTO TABLE_NAME (column1, column2, column3,...columnN)
VALUES (value1, value2, value3,...valueN);
  • column1, column2,...columnN sont les noms des champs de la table.

  • value1, value2, value3,...valueN sont les valeurs correspondant aux champs.

Lors de l'utilisation de l'instruction INSERT INTO, les colonnes de champs doivent correspondre au nombre de valeurs de données, et l'ordre doit également correspondre.

Si nous insérons des valeurs dans tous les champs de la table, nous n'avons pas besoin de spécifier les champs, seulement les valeurs à insérer :

INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);

Le tableau suivant répertorie les descriptions des résultats renvoyés après l'exécution de l'insertion :

Numéro Informations de sortie & Description
1

INSERT oid 1

Les informations renvoyées lorsqu'une seule ligne est insérée et que la table cible possède un OID ; oid est l'OID attribué à la ligne insérée.

2

INSERT 0 #

Les informations renvoyées lors de l'insertion de plusieurs lignes ; # est le nombre de lignes insérées.

Exemples

Créez la table COMPANY dans la base de données exampledb :

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

Insérez les données suivantes dans la table COMPANY :

exampledb=# INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY,JOIN_DATE) VALUES (1, 'Paul', 32, 'California', 20000.00,'2001-07-13');
INSERT 0 1

L'instruction d'insertion suivante ignore le champ SALARY :

exampledb=# INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,JOIN_DATE) VALUES (2, 'Allen', 25, 'Texas', '2007-12-13');
INSERT 0 1

L'instruction d'insertion suivante utilise la clause DEFAULT pour le champ JOIN_DATE afin de définir une valeur par défaut au lieu de spécifier une valeur :

exampledb=# INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY,JOIN_DATE) VALUES (3, 'Teddy', 23, 'Norway', 20000.00, DEFAULT );
INSERT 0 1

L'exemple suivant insère plusieurs lignes :

exampledb=# INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY,JOIN_DATE) VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00, '2007-12-13' ), (5, 'David', 27, 'Texas', 85000.00, '2007-12-13');
INSERT 0 2

Utilisez l'instruction SELECT pour interroger les données de la table :

exampledb=# SELECT * FROM company;

ID        NAME        AGE        ADDRESS     SALARY   JOIN_DATE
----      ----------  -----      ----------  -------      --------
1         Paul        32         California  20000.0      2001-07-13
2         Allen       25         Texas                    2007-12-13
3         Teddy       23         Norway      20000.0
4         Mark        25         Rich-Mond   65000.0      2007-12-13
5         David       27         Texas       85000.0      2007-12-13
Autres extensions