Retour à la liste des articles Articles
7 minutes de lecture

Comment importer des fichiers CSV dans PostgreSQL avec pgAdmin

Vous travaillez avec des données et utilisez des fichiers CSV ? Voici un guide pratique sur l'importation de ces fichiers dans une base de données PostgreSQL à l'aide de pgAdmin, l'un des meilleurs éditeurs PostgreSQL du marché.

Entrons tout de suite dans l'importation de fichiers CSV dans une base de données PostgreSQL. Nous commencerons par expliquer ce qu'est un fichier CSV, puis nous vous présenterons pgAdmin et vous montrerons comment procéder à l'importation. Ne vous inquiétez pas, c'est facile !

Qu'est-ce qu'un fichier CSV ?

CSV est l'abréviation de comma-separated values (valeurs séparées par des virgules). Il s'agit d'un format permettant de stocker des données dans des fichiers texte. Cette norme est prise en charge par de nombreuses applications et programmes, notamment Microsoft Office, LibreOffice et Google Sheets.

Pourquoi importer des fichiers CSV dans une base de données ?

Quand les fichiers CSV sont-ils utilisés ? Le transfert de données d'un programme ou d'une plateforme à l'autre est l'une des principales utilisations. Imaginez que vous ayez besoin d'exporter des données d'une base de données vers un tableur ou vice versa. Les fichiers CSV sont le moyen le plus sûr de sauvegarder vos données ; ils sont lus par presque toutes les suites bureautiques et les systèmes de gestion de base de données (SGBD). En outre, les CSV sont des fichiers texte et sont donc assez petits ; le transfert d'ensembles de données, même volumineux, ne pose pas de problème. Il s'agit là d'un avantage considérable pour l'utilisation des CSV.

Examinez les différences entre le stockage de données dans un tableau et dans un fichier CSV. Voici un tableau appelé characters. Je me demande si vous reconnaissez les données que j'y ai placées.

IDfirst_namelast_namefamily
1JohnSnowTargaryen
2AryaStarkStark
3TyrionLannisterLannister

Voici les mêmes informations au format CSV :

ID,first_name,last_name,family
1,John,Snow,Targaryen
2,Arya,Stark,Stark
3,Tyrion,Lannister,Lannister

Il s'agit d'un tout petit ensemble de données, mais vous pouvez imaginer ce que cela donnerait avec de nombreuses colonnes et des milliers de lignes. Je pense que vous avez compris les utilisations et les avantages des CSV, alors passons à l'outil que nous allons utiliser pour les importer : pgAdmin.

PostgreSQL et pgAdmin

Il y a quelque temps, mon ami Ignacio vous a montré comment installer et configurer PostgreSQL sur Windows 10. Si vous avez lu cet article, vous savez que Postgres est facile à configurer et qu'il s'agit de l'un des SGBD les plus populaires au monde.

Il existe des tonnes d'éditeurs SQL différents sur le marché qui supportent PostgreSQL. Je me suis habitué à pgAdmin et honnêtement je ne vois pas l'intérêt de changer pour autre chose. C'est un outil formidable qui ne m'a jamais déçu.

Qu'est-ce que pgAdmin ? C'est un programme graphique de gestion de base de données PostgreSQL. Sa dernière version est pgAdmin 4. Il peut être utilisé sur Linux, Unix, macOS ou Windows, et comme il est open-source, il est gratuit. Il s'agit là d'un argument important pour de nombreuses personnes. Grâce à ses fonctionnalités complètes et à sa gratuité, pgAdmin est parfait pour moi. Et peut-être pour vous aussi.

PgAdmin vous permet d'administrer des bases de données et leurs répliques, de créer tous les objets de la base de données, de lancer des requêtes et d'analyser le plan de requête (présenté sous forme classique ou graphique). Vous pouvez également utiliser la console classique pour y écrire. De plus, il existe de nombreuses extensions qui vous permettent d'adapter librement le programme à vos besoins.

Parmi les alternatives à pgAdmin, citons DBeaver, Navicat, HeidiSQL et OmniDB. Si vous souhaitez que je consacre un article aux différents éditeurs SQL existants - y compris ceux pour les bases de données PostgreSQL - faites-le moi savoir dans les commentaires.

Je suppose que Postgres et pgAdmin sont déjà installés sur votre ordinateur et que vous les avez configurés de manière appropriée. Nous pouvons maintenant passer aux choses sérieuses et importer des données.

Comment importer des CSV dans PostgreSQL

Revenons à notre fichier characters.csv et essayons de l'importer dans notre base de données via pgAdmin. Il y a deux méthodes, et je vais vous montrer ce qu'il faut faire étape par étape.

1. créer une table dans pgAdmin

En utilisant l'outil de requête interne de pgAdmin, vous pouvez d'abord créer une table avec une requête SQL :

CREATE TABLE characters 
(id serial, 
first_name varchar, 
last_name varchar, 
family varchar
);

Assurez-vous que les colonnes ont les mêmes noms et valeurs que ceux du fichier CSV.

Au lieu d'écrire une requête SQL, vous pouvez également faire un clic droit sur Tables dans l'arbre à gauche. Un petit menu apparaît. Sélectionnez Créer, puis Table....

Comment importer des CSV dans PostgreSQL en utilisant PgAdmin

Une nouvelle fenêtre s'ouvre et vous demande de donner un nom à la nouvelle table. Dans notre cas, ce sera characters.

Comment importer des CSV dans PostgreSQL en utilisant PgAdmin

Dans la même fenêtre, cliquez sur l'onglet Colonnes et ajoutez les colonnes appropriées en cliquant sur le bouton +. N'oubliez pas que les noms des colonnes doivent correspondre à ceux du fichier CSV. Vous devrez également spécifier le type de données que chaque colonne contiendra.

Si vous ne savez pas quels types de données saisir, je vous recommande de suivre le cours LearnSQL.fr Data Types in SQL . Il est préférable d'apprendre les bases et d'éviter de faire des erreurs. Nous savons quelles données nous voulons inclure dans chaque colonne, donc tout devrait ressembler à ceci :

Comment importer des CSV dans PostgreSQL en utilisant PgAdmin

Notez que vous pouvez définir la colonne comme non NULL et spécifier une clé primaire ici aussi. En cliquant sur SQL, vous pouvez afficher la requête SQL utilisée pour créer la table. Pour l'instant, nous ne nous soucierons pas des autres fonctionnalités (plus avancées).

Lorsque vous avez terminé, cliquez sur Enregistrer. Vous venez de créer une table ! Si vous ne la voyez pas dans l'arborescence, cliquez avec le bouton droit de la souris sur Tables et sélectionnez Actualiser. Il devrait apparaître.

2. Importer le fichier CSV

Là encore, vous pouvez utiliser l'outil de requête et saisir une requête SQL. Pour ce faire, utilisez l'instruction COPY:

COPY characters
FROM 'C:\a\characters.csv' 
DELIMITER ',' 
CSV HEADER;

Sur la première ligne, saisissez le nom de votre table. Dans la deuxième ligne (après la clause FROM ), entrez le chemin d'accès à votre fichier. Dans mon cas, il s'agit du lecteur C et du dossier a. Important : vous devez spécifier le caractère DELIMITERqui est le caractère utilisé pour séparer les valeurs dans le fichier CSV. Il s'agit généralement d'une virgule, mais il peut s'agir d'un point-virgule, d'un espace ou d'autre chose.

Enfin, utilisez le mot-clé HEADER pour ignorer l'en-tête (c'est-à-dire la ligne contenant les noms des colonnes) lorsque vous copiez les données du fichier CSV.

Comment importer des CSV dans PostgreSQL en utilisant PgAdmin

Dans notre cas, le résultat est un message COPY 3. Cela signifie que pgAdmin a copié trois lignes dans notre table. Entrons une simple requête pour vérifier que tout a fonctionné :

SELECT * FROM characters;
Comment importer des CSV dans PostgreSQL en utilisant PgAdmin

Bien sûr, comme dans le cas de la création d'une table et de l'importation de données à partir d'un fichier CSV, nous pouvons ignorer la requête et utiliser le programme lui-même. Pour ce faire, il suffit de cliquer avec le bouton droit de la souris sur votre tableau dans l'arborescence de gauche et de sélectionner l'option de menu Importer/Exporter....

Comment importer des CSV dans PostgreSQL en utilisant PgAdmin

Une fenêtre apparaît avec le curseur réglé sur Importer. Sélectionnez ensuite le fichier source et réglez le format sur CSV. Réglez l'en-tête sur Oui si votre fichier a un en-tête. Il ne reste plus qu'à sélectionner le délimiteur (généralement une virgule). Votre fenêtre devrait ressembler à ceci :

Lorsque vous cliquez sur OK, les données sont importées. Votre tableau est prêt ! Vous pouvez maintenant écrire des requêtes SQL et analyser les données, combiner des données provenant d'autres tables, etc. Bienvenue de l'autre côté du miroir, Alice ! Vous avez réussi à suivre le lapin blanc.

L'importation d'un fichier CSV dans une base de données Postgres était facile !

C'est aussi simple que cela d'importer des données d'un fichier CSV dans une base de données PostgreSQL avec pgAdmin. Il y a deux façons de le faire - en utilisant le programme lui-même, et en utilisant SQL dans l'outil de requête et l'instruction COPY. J'utilise pgAdmin parce que c'est un excellent outil pour travailler avec PostgreSQL. Quel IDE utilisez-vous ? Dites-le nous dans les commentaires.

Si vous êtes un débutant complet de PostgreSQL, je vous encourage à suivre notre cours SQL pour les débutants in PostgreSQL ou Le SQL de A à Z in PostgreSQL (la piste principale de ce dialecte). Ce sont des cours de SQL brillants et interactifs qui vous apprendront tout ce dont vous avez besoin pour travailler efficacement avec des bases de données. Ne restez pas à la traîne ; le monde entier mise sur PostgreSQL, y compris de nombreuses grandes entreprises. Pourquoi ne pas l'essayer ?