Wie exportiere ich eine Tabelle in CSV in MySQL

CSV-Datei ist ein sehr verbreitetes Textdateiformat, das von vielen Anwendungen unterstützt wird. Die vollständige Form von CSV ist Comma-Separated Values. Das bedeutet, dass die Daten in jeder Zeile dieser Datei durch ein Komma getrennt sind. Es wird hauptsächlich für den Austausch von Tabellendaten zwischen verschiedenen Anwendungen verwendet, die dieses Dateiformat unterstützen. XML ist ein weiteres Dateiformat, das häufig für den Austausch von Daten zwischen Anwendungen verwendet wird. Die CSV-Datei ist jedoch eine bessere Option als die XML-Datei, da sie weniger Platz und Bandbreite benötigt als eine XML-Datei. Sie müssen Daten im CSV-Format aus einer Anwendung exportieren, bevor Sie die Daten in eine andere Anwendung importieren können. MySQL unterstützt verschiedene Möglichkeiten, Daten aus Datenbanktabellen zu exportieren. Das CSV-Format ist eine davon. Dieser Artikel zeigt verschiedene Möglichkeiten, Daten im CSV-Format aus MySQL-Datenbanktabellen zu exportieren.

Voraussetzung:

Bevor Sie eine Exportanweisung ausführen, müssen Sie eine neue Datenbank und Tabellen erstellen oder eine vorhandene Datenbank und Tabellen auswählen. Führen Sie die folgenden Befehle aus, um eine Bibliotheksdatenbank und drei Tabellen mit den Namen books, borrowers und book_borrow_info zu erstellen.

Führen Sie die folgenden SQL-Befehle aus, um einige Daten in die drei Tabellen einzufügen.

Jede exportierte Datei wird an einem bestimmten Ort in MySQL gespeichert und der Ort wird in der Variablen „secure_file_priv“ gespeichert. Führen Sie den folgenden Befehl aus, um den Pfad der Datei herauszufinden. Dies ist eine schreibgeschützte Variable, die Sie nicht ändern können.

SHOW VARIABLES LIKE „secure_file_priv“;

Der Speicherort der Datei ist ‚/var/lib/mysql-files/‘. Sie müssen diesen Speicherort beim Ausführen des Exportbefehls verwenden.

Daten im CSV-Format mit der INTO OUTFILE-Anweisung exportieren:

Jede Datenbanktabelle kann mit der INTO OUTFILE-Anweisung exportiert werden. Angenommen, ich möchte die Daten der Tabelle „Bücher“ exportieren. Führen Sie den folgenden Befehl aus, um die vorhandenen Daten dieser Tabelle zu überprüfen.

SELECT * FROM books;

Als Exportdateiname kann ein beliebiger Dateiname mit der Erweiterung .csv festgelegt werden. Führen Sie den folgenden Exportbefehl aus, um die Datei books.csv im Verzeichnis /var/lib/mysql-files/ zu erstellen.

SELECT title, author, publisher FROM books INTO OUTFILE ‚/var/lib/mysql-files/books.csv‘;

Gehen Sie zum Exportort, um zu überprüfen, ob die Datei nicht erstellt wurde. Klicken Sie auf die Datei, um den Inhalt der Datei anzuzeigen. Wenn das Komma als Inhalt eines Feldes in der Tabelle vorhanden ist, wird es den Wert in mehrere Werte trennen. In der Tabelle Bücher enthält das Feld Verlag im dritten Datensatz ein Komma(,) als Inhalt. Wenn Sie den Inhalt der CSV-Datei untersuchen, werden Sie sehen, dass der Inhalt des Verlags in zwei Werte aufgeteilt ist, die nicht angemessen sind.

Um das obige Problem zu lösen, können Sie die Daten der Tabelle „Bücher“ in eine CSV-Datei exportieren, indem Sie die erforderlichen Trennzeichen in der SQL-Anweisung richtig angeben. Führen Sie den folgenden Befehl aus, um die Tabelle books in die Datei books2.csv zu exportieren. Hier werden drei Begrenzungszeichen verwendet, um die Daten ordnungsgemäß zu exportieren. Diese sind FIELDS TERMINATED BY, ENCLOSED BY und LINES TERMINATED BY.

Wenn Sie nun die Datei books2.csv öffnen, werden Sie sehen, dass das vorherige Problem in dieser Datei gelöst ist und die Daten durch Komma(,) nicht in mehrere Werte aufgeteilt sind.

Daten im CSV-Format mit dem mysql-Client exportieren:

Die Tabellendaten können mit dem mysql-Client in eine CSV-Datei exportiert werden. The borrowers table is exported in this part of this article. Run the following command to check the existing content of this table.

SELECT * FROM borrowers;

mysql statement with `sed` command is used here to export the data. One of the benefits of this statement is that you can set any location and filename for storing the CSV file without the default location that is used in the previous example. If there is no password for the root user then -p option will be omitted. The exported location is /tmp and filename is output.csv here.

mysql -h localhost -u root -p -e ’select * from library.borrowers‘ |
sed ’s/\t/,/g‘ > /tmp/output.csv

If you open the output.csv-Datei öffnet, erscheint die folgende Ausgabe.

Daten im CSV-Format mit phpmyadmin exportieren:

Die Datenbanktabelle kann mit einem beliebigen Datenbankverwaltungstool ganz einfach in eine CSV-Datei exportiert werden. Sie müssen das Tool vor dem Export installieren. phpmyadmin wird hier für den Export der Tabelle in die CSV-Datei verwendet. Der exportierte Dateiname ist dabei der Name der Tabelle. Rufen Sie die folgende URL in einem beliebigen Browser auf, um die vorhandene Datenbankliste des MySQL-Servers anzuzeigen.

Wählen Sie die Tabelle der Datenbank aus, die Sie exportieren möchten, und klicken Sie auf der rechten Seite auf die Registerkarte Export. Wählen Sie das CSV-Format aus der Dropdown-Liste Format und klicken Sie auf die Schaltfläche Los. Wählen Sie die Option Datei speichern und klicken Sie auf die Schaltfläche OK.


Die Datei wird in den Ordner Downloads heruntergeladen. Hier wird die Tabelle book_borrow_info exportiert. Der CSV-Dateiname lautet also book_borrow_info.csv und der folgende Inhalt wird angezeigt, wenn Sie die Datei öffnen.

Fazit:

Der Datenaustausch zwischen den Anwendungen wird durch die Verwendung der Exportfunktion des Datenbankservers erleichtert. MySQL unterstützt viele andere Dateiformate für den Export von Tabellendaten. Das Sql-Dateiformat wird hauptsächlich für die Übertragung von Daten zwischen denselben Datenbankservern verwendet. Das CSV-Format ist sehr hilfreich, wenn Sie Daten zwischen zwei verschiedenen Anwendungen austauschen wollen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.