Exporter des données de MySQL vers un fichier CSV

Preet Sanghavi 20 janvier 2022
Exporter des données de MySQL vers un fichier CSV

Ce didacticiel présentera comment enregistrer la sortie d’une requête MySQL dans un fichier CSV.

MySQL dispose d’une technique simple pour exporter la sortie d’une requête de sélection dans un fichier texte ou CSV sur le serveur. À l’aide de commandes complexes comme INTO OUTFILE, nous pouvons écrire rapidement et efficacement dans un fichier CSV.

Créons un tableau et stockons ses résultats dans un fichier CSV.

Cependant, avant de commencer, nous créons un jeu de données factice avec lequel travailler. Ici, nous créons un tableau, student_details, avec quelques lignes dedans.

-- create the table student_details
CREATE TABLE student_details(
  stu_id int,
  stu_firstName varchar(255) DEFAULT NULL,
  stu_lastName varchar(255) DEFAULT NULL,
  primary key(stu_id)
);
-- insert rows to the table student_details
INSERT INTO student_details(stu_id,stu_firstName,stu_lastName) 
 VALUES(1,"Preet","Sanghavi"),
 (2,"Rich","John"),
 (3,"Veron","Brow"),
 (4,"Geo","Jos"),
 (5,"Hash","Shah"),
 (6,"Sachin","Parker"),
 (7,"David","Miller");

La requête ci-dessus crée un tableau avec des lignes contenant le prénom et le nom de l’étudiant. Afin de visualiser les entrées dans les données, nous utilisons le code suivant :

SELECT * FROM student_details;

Le code ci-dessus donnerait la sortie suivante.

stu_id	stu_firstName	stu_lastName
1	      Preet	        Sanghavi
2	      Rich	        John
3	      Veron	        Brow
4	      Geo	        Jos
5	      Hash	        Shah
6	      Sachin	    Parker
7	      David	        Miller

Essayons maintenant d’enregistrer les résultats de la requête ci-dessus dans un fichier CSV séparé.

Exportation MySQL vers CSV

L’une des méthodes les plus basiques pour exporter des données MySQL au format CSV consiste à utiliser le mot-clé OUTFILE. Nous pouvons utiliser ce mot-clé comme indiqué ci-dessous :

-- Exporting data into students.csv file
SELECT stu_id, stu_firstName, stu_lastName
FROM student_details
INTO OUTFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/abc.csv';

Le code ci-dessus écrit la sortie de la requête dans un fichier nommé abc.csv dans le répertoire C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/.

Remarque : Le fichier de sortie peut ou non être déjà présent dans le dossier Uploads de MySQL Server 8.0 dans les données du programme. Une fois que nous avons exécuté le code ci-dessus, un fichier est créé avec les données intégrées.

La sortie du code mentionné ci-dessus génère le fichier suivant :

création de fichier CSV

Les données du fichier mentionné ci-dessus peuvent être vues comme suit :

Vue du fichier CSV

Nous pouvons également essayer de formater la sortie dans le fichier CSV. Cela peut être fait à l’aide des commandes FIELDS TERMINATED BY, ENCLOSED BY '""', et LINES TERMINATED BY. Nous pouvons utiliser ces commandes comme suit :

-- Exporting data into students.csv file
SELECT *
FROM student_details
INTO OUTFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/abc.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';

La sortie du code ci-dessus donne le fichier CSV comme suit :

Vue du fichier CSV mis à jour

Comme nous pouvons le voir, la sortie de l’image ci-dessus est correctement formatée avec un fichier séparé par des tabulations.

Ainsi, à l’aide des méthodes ci-dessus, nous pouvons exporter efficacement nos données dans un fichier CSV. Pour localiser ce fichier CSV, nous pouvons suivre le chemin indiqué dans la commande INTO OUTFILE dans les blocs de code mentionnés ci-dessus.

Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub