Opérations de base sur les données dans PostgreSQL

PostgreSQLPostgreSQLBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous allons explorer les opérations de base sur les données dans PostgreSQL. L'objectif principal est d'apprendre à manipuler les données au sein d'une base de données PostgreSQL en utilisant les commandes SQL fondamentales.

Nous commencerons par nous connecter à la base de données et créer une table employees avec des colonnes pour l'ID, le nom et le département. Ensuite, nous apprendrons à insérer des données dans la table en utilisant l'instruction INSERT INTO. Par la suite, nous aborderons l'interrogation des données avec SELECT, la mise à jour des enregistrements existants et la suppression des enregistrements. Ce laboratoire offre une introduction pratique aux techniques essentielles de gestion des données dans PostgreSQL.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL postgresql(("PostgreSQL")) -.-> postgresql/PostgreSQLGroup(["PostgreSQL"]) postgresql/PostgreSQLGroup -.-> postgresql/table_init("Create Basic Table") postgresql/PostgreSQLGroup -.-> postgresql/row_add("Insert One Row") postgresql/PostgreSQLGroup -.-> postgresql/data_all("Select All Data") postgresql/PostgreSQLGroup -.-> postgresql/data_where("Filter With WHERE") postgresql/PostgreSQLGroup -.-> postgresql/data_sort("Sort Query Results") postgresql/PostgreSQLGroup -.-> postgresql/row_edit("Update Single Row") postgresql/PostgreSQLGroup -.-> postgresql/row_drop("Delete One Row") subgraph Lab Skills postgresql/table_init -.-> lab-550897{{"Opérations de base sur les données dans PostgreSQL"}} postgresql/row_add -.-> lab-550897{{"Opérations de base sur les données dans PostgreSQL"}} postgresql/data_all -.-> lab-550897{{"Opérations de base sur les données dans PostgreSQL"}} postgresql/data_where -.-> lab-550897{{"Opérations de base sur les données dans PostgreSQL"}} postgresql/data_sort -.-> lab-550897{{"Opérations de base sur les données dans PostgreSQL"}} postgresql/row_edit -.-> lab-550897{{"Opérations de base sur les données dans PostgreSQL"}} postgresql/row_drop -.-> lab-550897{{"Opérations de base sur les données dans PostgreSQL"}} end

Insérer des données dans les tables

Dans cette étape, nous allons apprendre à insérer des données dans les tables dans PostgreSQL. L'insertion de données est une opération fondamentale pour alimenter votre base de données avec des informations. Nous aborderons la syntaxe de base et fournirons des exemples pour vous aider à comprendre le processus.

Avant de commencer, assurez-vous que PostgreSQL est installé et en cours d'exécution. Vous pouvez vous connecter à votre serveur PostgreSQL en utilisant l'outil en ligne de commande psql.

Tout d'abord, connectons-nous à la base de données. Ouvrez votre terminal et exécutez la commande suivante :

sudo -u postgres psql

Maintenant que nous sommes connectés à la base de données, créons une table simple nommée employees si elle n'existe pas déjà. Cette table stockera des informations sur les employés, telles que leur ID, leur nom et leur département.

CREATE TABLE IF NOT EXISTS employees (
    id SERIAL PRIMARY KEY,
    name VARCHAR(50),
    department VARCHAR(50)
);

Cette instruction SQL crée une table nommée employees avec trois colonnes :

  • id : Un entier qui s'incrémente automatiquement avec chaque nouvel enregistrement (en utilisant SERIAL). C'est également la clé primaire (primary key) de la table.
  • name : Une chaîne de caractères (jusqu'à 50 caractères) pour stocker le nom de l'employé.
  • department : Une chaîne de caractères (jusqu'à 50 caractères) pour stocker le département de l'employé.

Maintenant, insérons des données dans la table employees. Nous allons insérer trois enregistrements d'employés.

INSERT INTO employees (name, department) VALUES ('Alice Smith', 'Sales');
INSERT INTO employees (name, department) VALUES ('Bob Johnson', 'Marketing');
INSERT INTO employees (name, department) VALUES ('Charlie Brown', 'Engineering');

Chaque instruction INSERT INTO ajoute une nouvelle ligne à la table employees. Nous spécifions le nom de la table (employees) et les colonnes dans lesquelles nous insérons des données (name, department). Le mot-clé VALUES est suivi des données réelles que nous voulons insérer, entre parenthèses.

Pour vérifier que les données ont été insérées correctement, nous pouvons interroger la table employees en utilisant l'instruction SELECT.

SELECT * FROM employees;

Cela affichera toutes les lignes et colonnes de la table employees. Vous devriez voir les trois enregistrements d'employés que nous venons d'insérer. La sortie devrait ressembler à ceci :

 id |     name      | department
----+---------------+------------
  1 | Alice Smith   | Sales
  2 | Bob Johnson   | Marketing
  3 | Charlie Brown | Engineering
(3 rows)
Output after inserting data in table

Vous avez maintenant inséré avec succès des données dans une table PostgreSQL. Vous pouvez continuer à insérer d'autres enregistrements selon vos besoins.

Enfin, quittez l'interpréteur psql en tapant :

\q

Cela vous ramènera au terminal.

Interroger les données avec SELECT

Dans cette étape, nous allons apprendre à interroger les données des tables dans PostgreSQL en utilisant l'instruction SELECT. L'instruction SELECT est la base de la récupération d'informations à partir de votre base de données. Nous aborderons la syntaxe de base, le filtrage et le tri pour vous aider à maîtriser la récupération de données.

Tout d'abord, assurez-vous que vous êtes connecté à la base de données. Si vous n'êtes pas déjà connecté, ouvrez votre terminal et exécutez la commande suivante :

sudo -u postgres psql

Apprenons à sélectionner des colonnes spécifiques. Supposons que nous voulions uniquement récupérer les colonnes name et department.

SELECT name, department FROM employees;

Cette instruction renverra uniquement les colonnes name et department pour toutes les lignes de la table employees. La sortie devrait ressembler à ceci :

     name      | department
---------------+------------
 Alice Smith   | Sales
 Bob Johnson   | Marketing
 Charlie Brown | Engineering
(3 rows)

Maintenant, ajoutons une clause WHERE pour filtrer les résultats. Supposons que nous voulions récupérer uniquement les employés qui travaillent dans le département 'Sales'.

SELECT name, department FROM employees WHERE department = 'Sales';

La clause WHERE spécifie une condition qui doit être remplie pour qu'une ligne soit incluse dans l'ensemble de résultats (result set). Dans ce cas, nous ne sélectionnons que les lignes où la colonne department est égale à 'Sales'. La sortie devrait être :

     name      | department
---------------+------------
 Alice Smith   | Sales
(1 row)

Enfin, apprenons à trier les résultats en utilisant la clause ORDER BY. Supposons que nous voulions récupérer tous les employés, triés par leur nom par ordre croissant.

SELECT name, department FROM employees ORDER BY name;

Cette instruction renverra toutes les lignes de la table employees, mais les résultats seront triés par ordre alphabétique par la colonne name. La sortie devrait être :

     name      | department
---------------+------------
 Alice Smith   | Sales
 Bob Johnson   | Marketing
 Charlie Brown | Engineering
(3 rows)

Pour trier les résultats par ordre décroissant, vous pouvez ajouter le mot-clé DESC après le nom de la colonne.

SELECT name, department FROM employees ORDER BY name DESC;

Cela triera les résultats par ordre alphabétique inverse.

Vous avez maintenant appris à interroger des données à partir d'une table PostgreSQL en utilisant l'instruction SELECT, y compris comment sélectionner des colonnes spécifiques, filtrer les résultats en utilisant la clause WHERE et trier les résultats en utilisant la clause ORDER BY.

Illustration for querying data in PostgreSQL

Enfin, quittez l'interpréteur psql en tapant :

\q

Mettre à jour les enregistrements existants

Dans cette étape, nous allons apprendre à mettre à jour les enregistrements existants dans une table PostgreSQL en utilisant l'instruction UPDATE. La mise à jour des données est essentielle pour maintenir les informations de votre base de données à jour et exactes. Nous aborderons la syntaxe de base et fournirons des exemples pour vous aider à comprendre le processus.

Tout d'abord, assurez-vous que vous êtes connecté à la base de données. Si vous n'êtes pas déjà connecté, ouvrez votre terminal et exécutez la commande suivante :

sudo -u postgres psql

Mettons à jour le département de 'Alice Smith' à 'Human Resources' (Ressources Humaines).

UPDATE employees SET department = 'Human Resources' WHERE name = 'Alice Smith';

L'instruction UPDATE modifie les lignes existantes dans une table. La clause SET spécifie les colonnes à mettre à jour et leurs nouvelles valeurs. La clause WHERE spécifie les lignes à mettre à jour. Dans ce cas, nous mettons à jour la colonne department à 'Human Resources' pour la ligne où la colonne name est égale à 'Alice Smith'.

Pour vérifier que la mise à jour a réussi, nous pouvons interroger la table employees.

SELECT * FROM employees WHERE name = 'Alice Smith';

Cela affichera la ligne pour 'Alice Smith', et vous devriez voir que la colonne department a été mise à jour à 'Human Resources'. La sortie devrait être similaire à ceci :

 id |     name      |   department
----+---------------+------------------
  1 | Alice Smith   | Human Resources
(1 row)

Vous pouvez également mettre à jour plusieurs colonnes à la fois. Par exemple, mettons à jour le département de Bob Johnson à 'Sales' et son nom à 'Robert Johnson'.

UPDATE employees SET department = 'Sales', name = 'Robert Johnson' WHERE name = 'Bob Johnson';

Cette instruction met à jour à la fois les colonnes department et name pour la ligne où la colonne name est égale à 'Bob Johnson'.

Pour vérifier la mise à jour, interrogez à nouveau la table employees.

SELECT * FROM employees WHERE name = 'Robert Johnson';

La sortie devrait être :

 id |      name      | department
----+----------------+------------
  2 | Robert Johnson | Sales
(1 row)

Il est important d'être prudent lors de l'utilisation de l'instruction UPDATE, en particulier lorsque vous omettez la clause WHERE. Si vous omettez la clause WHERE, l'instruction UPDATE mettra à jour toutes les lignes de la table. Par exemple :

UPDATE employees SET department = 'Unknown';

Cette instruction définirait la colonne department à 'Unknown' pour chaque ligne de la table employees. Soyez très prudent lorsque vous exécutez une telle instruction.

Illustration for updating records in PostgreSQL

Vous avez maintenant appris à mettre à jour les enregistrements existants dans une table PostgreSQL en utilisant l'instruction UPDATE.

Enfin, quittez l'interpréteur psql en tapant :

\q

Supprimer des enregistrements

Dans cette étape, nous allons apprendre à supprimer des enregistrements d'une table PostgreSQL en utilisant l'instruction DELETE. La suppression de données est une opération importante pour supprimer les informations obsolètes ou incorrectes de votre base de données. Nous aborderons la syntaxe de base et fournirons des exemples pour vous aider à comprendre le processus.

Tout d'abord, assurez-vous que vous êtes connecté à la base de données. Si vous n'êtes pas déjà connecté, ouvrez votre terminal et exécutez la commande suivante :

sudo -u postgres psql

Supprimons l'enregistrement de 'Charlie Brown' de la table employees.

DELETE FROM employees WHERE name = 'Charlie Brown';

L'instruction DELETE FROM supprime des lignes d'une table. La clause WHERE spécifie les lignes à supprimer. Dans ce cas, nous supprimons la ligne où la colonne name est égale à 'Charlie Brown'.

Pour vérifier que la suppression a réussi, nous pouvons interroger la table employees.

SELECT * FROM employees WHERE name = 'Charlie Brown';

Cela ne devrait renvoyer aucune ligne, indiquant que l'enregistrement de 'Charlie Brown' a été supprimé. La sortie devrait être :

 id | name | department
----+------+------------
(0 rows)

Vous pouvez également supprimer plusieurs lignes à la fois en utilisant une clause WHERE plus complexe. Par exemple, si vous aviez plusieurs employés dans le département 'Marketing', vous pourriez tous les supprimer avec une seule instruction :

DELETE FROM employees WHERE department = 'Marketing';

Il est essentiel d'être extrêmement prudent lors de l'utilisation de l'instruction DELETE, en particulier lorsque vous omettez la clause WHERE. Si vous omettez la clause WHERE, l'instruction DELETE supprimera toutes les lignes de la table. Par exemple :

DELETE FROM employees;

Cette instruction supprimerait chaque ligne de la table employees, vidant ainsi la table. Assurez-vous absolument de vouloir supprimer toutes les lignes avant d'exécuter une telle instruction.

Vous avez maintenant appris à supprimer des enregistrements d'une table PostgreSQL en utilisant l'instruction DELETE.

Illustration for record deletion in PostgreSQL

Vérifiez la table employees pour vérifier que la suppression a réussi.

SELECT * FROM employees;

La sortie devrait être :

 id | name | department
----+------+------------
(0 rows)

Enfin, quittez l'interpréteur psql en tapant :

\q

Résumé

Dans ce labo, nous avons couvert les opérations fondamentales sur les données dans PostgreSQL, en nous concentrant sur l'insertion de données dans les tables. Nous avons commencé par nous connecter à la base de données à l'aide de l'outil en ligne de commande psql. Ensuite, nous avons créé une table employees avec des colonnes pour id, name et department, en spécifiant id comme clé primaire avec une fonctionnalité d'auto-incrémentation.

Enfin, nous avons inséré trois enregistrements d'employés dans la table employees en utilisant l'instruction INSERT INTO, en spécifiant le nom de la table et les colonnes dans lesquelles insérer les données, ainsi que les valeurs correspondantes pour chaque enregistrement. Cela a démontré la syntaxe de base pour remplir une table PostgreSQL avec des données.