Dies ist eine alte Version des Dokuments!
LU13a: Datenimport & -export (CSV)
Lernziele
Sie können …
- CSV-Dateien mit dem WebStorm-Datenbank-Plugin importieren (in bestehende oder neue Tabellen).
- Tabellen- oder Abfrageergebnisse als CSV/Excel/JSON exportieren.
- typische Stolpersteine (Trennzeichen, Encoding, Datum/Zahlen, Header-Zeile) erkennen und beheben.
- Vor- und Nachteile von CSV vs. SQL-Skript benennen.
Warum verwenden wir CSV-Dateien?
CSV1) sind einfache Textdateien (Dateiendung .csv), in denen Daten zeilenweise gespeichert werden; Spalten werden durch ein Trennzeichen getrennt (z. B. Komma oder Semikolon).
Vorteile von CSV
- Universell: Fast jede Anwendung (Excel, Google Sheets, Datenbanken) kann CSV exportieren/importieren.
- Einfach & schnell: Ideal für Importe mit viel Daten. Es ist keine zusätzliche Software nötig, um die Datei zu lesen.
Eigenschaften von CSV
- Trennzeichen: Komma (
,) oder Semikolon (;) konsistent verwenden. - Encoding: UTF-8 wählen, damit Umlaute richtig formatiert werden.
- Header-Zeile: Beim Import, 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 nach dem Import setzen: CSV enthält keine Constraints2); die Struktur verwaltet die Datenbank.
Voraussetzungen
- WebStorm mit aktiviertem Database Tools and SQL-Plugin
- Datenquelle (MySQL) ist verbunden (Login, Treiber)
- Beispiel-Dateien – Genres einer Filmdatenbank (Daten von letterboxd.com) Genres einer Filmdatenbank (Daten von letterboxd.com)
- das gesamte Datenset können Sie von Kaggle hier herunterladen: https://www.kaggle.com/datasets/gsimonx37/letterboxd/data
Video CSV-Daten importieren
Über die Webstorm-Benutzeroberfläche und via SQL-Code LOAD DATA LOCAL INFILE
1) Varianten im Überblick
| Methode | Was ist das? | Vorteile | Nachteile |
|---|---|---|---|
| GUI in WebStorm | Import/Export von nur Daten aus/zu CSV-Dateien | Schnell, einfach, keine CLI3) nötig | Keine Struktur/Constraints4), Datentypen/Format genau prüfen |
| SQL-Skript5) | Enthält Struktur (DDL) und Daten (INSERTs) | Reproduzierbar6), portabel7) | Mehr Aufwand beim Erstellen, bei sehr viele Datensätzen u. U. langsamer |
2) CSV importieren (WebStorm GUI)
Ziel: CSV-Datei (z. B. genres.csv) in die Datenbank letterboxd_film_db (vorher selbst erstellen – s. Video oben) laden.
- Rechtsklick auf Schema → Import/Export → Import Data from File(s).
- CSV auswählen → Datentypen prüfen: Entsprechende Datentypen anpassen → z.B. genre Spalten von
textzuVARCHAR(50)konvertieren. - Vorschau kontrollieren → Apply/OK.
3) CSV-Import per SQL
Wir laden die Datei genres.csv (z. B. aus einer letterboxd8)-Datenbank) in die Tabelle genres.
Voraussetzungen
- Verbindung in WebStorm ist aktiv.
- In den Data-Source-Eigenschaften ist AllowLoadLocalInfile auf TRUE gesetzt (im oben angezeigten Video gezeigt).
Tabelle anlegen
CREATE TABLE IF NOT EXISTS genres ( id BIGINT 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: Für dieses CSV Komma als Separator, UTF-8 als Zeichensatz.
- Windows: Falls nötig
LINES TERMINATED BY '\r\n' verwenden. - Mehrfach-Genres: In der Tabelle kommen mehrere Einträge doppelt vor (z.B. .
4) CSV/Excel/JSON exportieren (WebStorm GUI)
Ziel: Tabelleninhalte oder Abfrageergebnis exportieren.
- Tabelle öffnen oder SELECT-Resultat anzeigen.
- Toolbar: Export Data → Format wählen (CSV/Excel/JSON/Markdown …).
- Optionen:
- Add column header (Spaltennamen in erster Zeile)
- Transpose (optional)
- Output file wählen → Export to File.
5) Fazit
- CSV ist ideal für Testdaten und schnelle Massenimporte.
- Achten Sie auf Trennzeichen, Encoding, Datentypen.
- Für Backups und Migration ganzer Datenbanken ist ein Dump in eine SQL-Skript (nächste Seite) besser geeignet (Struktur + Daten).




