Daten aus MySQL in eine CSV-Datei exportieren

Preet Sanghavi 20 Januar 2022
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:

CSV-Dateierstellung

Die Daten in der oben genannten Datei können wie folgt eingesehen werden:

Ansicht der CSV-Datei

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:

Ansicht der aktualisierten CSV-Datei

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.

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