Daten aus MySQL in eine CSV-Datei exportieren
In diesem Tutorial erfahren Sie, wie Sie die Ausgabe einer MySQL-Abfrage in einer CSV-Datei speichern.
MySQL verfügt über eine einfache Technik, um die Ausgabe einer ausgewählten Abfrage in eine Text- oder CSV-Datei auf dem Server zu exportieren. Mit komplizierten Befehlen wie INTO OUTFILE
können wir schnell und effizient in eine CSV-Datei schreiben.
Lassen Sie uns eine Tabelle erstellen und ihre Ergebnisse in einer CSV-Datei speichern.
Bevor wir jedoch beginnen, erstellen wir ein Dummy-Dataset, mit dem wir arbeiten können. Hier erstellen wir eine Tabelle, student_details
, zusammen mit einigen Zeilen darin.
-- 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");
Die obige Abfrage erstellt eine Tabelle zusammen mit Zeilen mit dem Vor- und Nachnamen des Schülers. Um die Einträge in den Daten einzusehen, verwenden wir folgenden Code:
SELECT * FROM student_details;
Der obige Code würde die folgende Ausgabe ergeben.
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
Versuchen wir nun, die Ergebnisse der obigen Abfrage in einer separaten CSV-Datei zu speichern.
MySQL-Export nach CSV
Eine der grundlegendsten Methoden zum Exportieren von MySQL-Daten in CSV ist die Verwendung des Schlüsselworts OUTFILE
. Wir können dieses Schlüsselwort wie unten gezeigt verwenden:
-- 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';
Der obige Code schreibt die Ausgabe der Abfrage in eine Datei namens abc.csv
im Verzeichnis C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/
.
Hinweis: Die Ausgabedatei kann möglicherweise bereits im Uploads-Ordner von MySQL Server 8.0 in den Programmdaten vorhanden sein. Sobald wir den obigen Code ausführen, wird eine Datei mit den darin eingebetteten Daten erstellt.
Die Ausgabe des oben genannten Codes erzeugt die folgende Datei:
Die Daten in der oben genannten Datei können wie folgt eingesehen werden:
Wir können auch versuchen, die Ausgabe in der CSV-Datei zu formatieren. Dies kann mit Hilfe der Befehle FIELDS TERMINATED BY
, ENCLOSED BY '""'
und LINES TERMINATED BY
erfolgen. Wir können diese Befehle wie folgt verwenden:
-- 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';
Die Ausgabe des obigen Codes ergibt die CSV-Datei wie folgt:
Wie wir sehen, ist die Ausgabe im obigen Bild mit einer durch Tabulatoren getrennten Datei korrekt formatiert.
So können wir mit Hilfe der oben genannten Methoden unsere Daten effizient in eine CSV-Datei exportieren. Um diese CSV-Datei zu finden, können wir dem im Befehl INTO OUTFILE
angegebenen Pfad in den oben genannten Codeblöcken folgen.