Dies ist eine alte Version des Dokuments!
LU13a: Datenimport & -export (CSV)
Lernziele
Sie können …
- CSV-Dateien mit dem Datenbank-Plugin von WebStorm in bestehende oder neue Tabellen importieren.
- Tabellen- oder Abfrageergebnisse als CSV-, Excel- oder JSON-Dateien exportieren.
- typische Stolpersteine beim CSV-Austausch (Trennzeichen, Encoding, Datum/Zahlen, Header-Zeile) erkennen und beheben.
- Vor- und Nachteile von CSV im Vergleich zu SQL-Skripten benennen.
Warum verwenden wir CSV-Dateien?
CSV1) sind einfache Textdateien (Dateiendung .csv). Die Daten werden zeilenweise gespeichert, die Spalten durch ein Trennzeichen (z. B. Komma oder Semikolon) getrennt.
Vorteile von CSV
- Universell: Fast jede Anwendung (z. B. Excel, Google Sheets, Datenbanken) kann CSV-Daten importieren und exportieren.
- Einfach & schnell: Ideal für Importe mit vielen Daten. Die Dateien können ohne zusätzliche Spezialsoftware angezeigt werden.
Eigenschaften von CSV
- Trennzeichen: Komma (
',) oder Semikolon (;) konsistent verwenden. - Encoding: Möglichst UTF-8 wählen, damit Umlaute und Sonderzeichen korrekt dargestellt werden.
- Header-Zeile: Beim Import die erste Zeile als Spaltenkopf markieren (
First row is header). - Datentypen/Formate: Beim Import Zahlen, Datumsformate (z. B.
YYYY-MM-DD) und Dezimaltrennzeichen (Punkt vs. Komma) prüfen. - Verknüpfungen in der Datenbank: CSV enthält keine Constraints2). Diese werden erst im RDBMS definiert und gepflegt.
Voraussetzungen
- WebStorm mit aktiviertem Database Tools and SQL-Plugin
- Datenquelle (z. B. MySQL) ist verbunden (Login, Treiber eingerichtet)
- Beispiel-Dateien: Genres einer Filmdatenbank (Daten von letterboxd.com) Genres einer Filmdatenbank (Daten von letterboxd.com)
- Den vollständigen Datensatz können Sie auf Kaggle herunterladen: [https://www.kaggle.com/datasets/gsimonx37/letterboxd/data](https://www.kaggle.com/datasets/gsimonx37/letterboxd/data)
Video: CSV-Daten importieren
Über die WebStorm-Benutzeroberfläche und via SQL-Befehl LOAD DATA LOCAL INFILE
1) Varianten im Überblick
| Methode | Was ist das? | Vorteile | Nachteile |
|---|---|---|---|
| GUI in WebStorm | Import/Export von Daten aus bzw. zu CSV-Dateien | Schnell, einfach, keine CLI3) nötig | Keine Struktur/Constraints, Datentypen und Formate sorgfältig prüfen |
| SQL-Skript4) | Enthält sowohl Struktur (DDL) als auch Daten (INSERTs) | Reproduzierbar5), portabel6) | Mehr Aufwand beim Erstellen, bei sehr vielen Datensätzen u. U. langsamer |
2) CSV importieren (WebStorm GUI)
Ziel: Eine CSV-Datei (z. B. genres.csv) in die Datenbank letterboxd_film_db laden (Datenbank vorher erstellen – siehe Video).
* Rechtsklick auf das gewünschte Schema → Import/Export → Import Data from File(s).
* CSV-Datei auswählen → Datentypen prüfen und bei Bedarf anpassen (z. B. Spalte genre von TEXT zu VARCHAR(50) ändern).
* Vorschau kontrollieren → Apply / OK.
3) CSV-Import per SQL
Wir laden die Datei genres.csv (z. B. aus einer letterboxd 7) -Datenbank) in die Tabelle genres.
Voraussetzungen
- Verbindung in WebStorm ist aktiv.
- In den Data-Source-Eigenschaften ist AllowLoadLocalInfile auf TRUE gesetzt (im Video gezeigt).
- Der Pfad zur CSV-Datei ist korrekt (angepasst an Betriebssystem und Benutzerkonto).
Tabelle anlegen
CREATE TABLE IF NOT EXISTS genres ( id INT NOT NULL, genre VARCHAR(50) NOT NULL );
Import mit LOAD DATA LOCAL INFILE
LOAD DATA LOCAL INFILE '/Pfad/zu/genres.csv' INTO TABLE genres FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;
Hinweise
- Header-Zeile: Durch
IGNORE 1 ROWSwird die Kopfzeile übersprungen. - Trennzeichen & Encoding: Für dieses CSV wird ein Komma als Separator und UTF-8 als Zeichensatz verwendet.
- Windows: Falls nötig
LINES TERMINATED BY '\r\n' verwenden. - Mehrfach-Genres: Ein Genre kann mehrfach vorkommen (z. B.
Drama). Das ist hier ein „Fehler“ des Datensatzes – in der Praxis würde man nun hierfür eine Zwischentabelle zwischen der Tabelle movies und genres (movie_genre) erstellen.
4) CSV/Excel/JSON exportieren (WebStorm GUI)
Ziel: Tabelleninhalte oder ein Abfrageergebnis aus WebStorm exportieren.
- Tabelle öffnen oder ein
SELECT-Resultat anzeigen lassen. - In der Toolbar: Export Data → gewünschtes Format wählen (CSV, Excel, JSON, Markdown …).
- Wichtige Optionen:
- Add column header (Spaltennamen in der ersten Zeile mitexportieren)
- Transpose (optional, dreht Zeilen/Spalten)
- Output file wählen → Export to File ausführen.
5) Fazit
- CSV eignet sich gut für Testdaten und schnelle Massenimporte.
- Achten Sie auf Trennzeichen, Encoding und Datentypen, um typische Fehler zu vermeiden.
- Für Backups und Migration ganzer Datenbanken ist ein Export als SQL-Skript (Dump mit Struktur und Daten) meist besser geeignet.




