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 :
Les données du fichier mentionné ci-dessus peuvent être vues comme suit :
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 :
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.