# PostgreSQL INSERT INTO : insérer des lignes

La commande `INSERT INTO` dans PostgreSQL permet d’ajouter une ou plusieurs nouvelles lignes dans une table existante. Les valeurs doivent être spécifiées lors de l’insertion

## Qu’est-ce que PostgreSQL `INSERT INTO` ?

La commande PostgreSQL `INSERT INTO` permet d’**insérer de nouvelles lignes dans une table**. Vous pouvez insérer une seule ligne ou plusieurs lignes en une seule commande. Dans le cadre de l’utilisation de PostgreSQL `INSERT`, les colonnes définies lors de la création de la table doivent être **spécifiées directement dans la commande**.

## PostgreSQL `INSERT` : syntaxe et fonctionnement

La syntaxe de base de PostgreSQL `INSERT INTO` est la suivante :

```postgresql
INSERT INTO nom_de_la_table (colonne1, colonne2, colonne3, ..., colonneN)
VALUES (valeur1, valeur2, valeur3, ..., valeurN);
```

Si vous utilisez PostgreSQL `INSERT INTO`, vous indiquez donc d’abord la table dans laquelle vous souhaitez effectuer vos ajustements. Viennent ensuite les différentes colonnes, bien que vous puissiez **omettre** cette liste si vous fournissez des valeurs pour toutes les colonnes de la table. Dans ce cas, la syntaxe est la suivante :

```postgresql
INSERT INTO nom_de_la_table
VALUES (valeur1, valeur2, valeur3, …, valeurN);
```

Dans tous les cas, vous devez stocker les différentes valeurs **dans le bon ordre**. Elles sont insérées dans les différentes colonnes de gauche à droite.

## Exemple de la commande PostgreSQL `INSERT INTO`

La meilleure façon d’illustrer comment PostgreSQL `INSERT INTO` fonctionne dans la pratique est de donner un **exemple concret**. Pour cela, nous créons une table appelée « Liste des clients » avec [PostgreSQL `CREATE TABLE`](https://www.ionos.com/fr-be/digitalguide/serveur/configuration/postgresql-create-table/). Celle-ci contient quatre colonnes intitulées « ID », « Nom », « Ville » et « Adresse ». Voici à quoi ressemble le code correspondant :

```postgresql
CREATE TABLE liste_des_clients (
    ID SERIAL PRIMARY KEY,
    Nom VARCHAR(50) NOT NULL,
    Ville VARCHAR(50),
    Adresse VARCHAR(255)
);
```

Pour insérer une ligne, nous utilisons PostgreSQL `INSERT` :

```postgresql
INSERT INTO liste_des_clients (ID, Nom, Ville, Adresse)
VALUES (1, 'Madiot', 'Lyon', '1, rue du Commerce');
```

Dans l’exemple suivant, nous ne connaissons pas l’adresse d’un client et laissons ce champ vide lors de la saisie. Il reçoit alors la valeur par défaut définie dans le tableau. Si aucune valeur n’a été définie, la valeur est `NULL`. Voici le code :

```postgresql
INSERT INTO liste_des_clients (ID, NOM, VILLE) 
VALUES (2, 'Wirth', 'Toulouse');
```

## Insérer plusieurs lignes en même temps avec PostgreSQL `INSERT`

Il est également possible d’ajouter **plusieurs lignes en même temps** dans PostgreSQL avec `INSERT INTO`. Dans le code suivant, nous insérons deux clients supplémentaires :

```postgresql
INSERT INTO liste_des_clients (ID, Nom, Ville, Adresse)
VALUES 
    (3, 'Bourrat', 'Strasbourg', '17, rue du Bac'), 
    (4, 'Sambat', 'Montpellier', '73, place de la République');
```

Les lignes sont mises entre parenthèses et séparées par des virgules.

Conseil Si vous souhaitez supprimer le contenu d’une ligne, vous pouvez le faire avec la commande [PostgreSQL `DELETE`](https://www.ionos.com/fr-be/digitalguide/serveur/configuration/postgresql-delete/).


This is a markdown version of: [https://www.ionos.com/fr-be/digitalguide/serveur/configuration/postgresql-insert-into/](https://www.ionos.com/fr-be/digitalguide/serveur/configuration/postgresql-insert-into/) for AI/LLM consumption.