1. Einführung in das Importieren von CSV-Dateien in MySQL
Das Importieren von CSV-Dateien in MySQL ist eine leistungsstarke Methode, um die Datenverwaltung zu optimieren und die Notwendigkeit manueller Dateneingabe zu eliminieren. Zum Beispiel, wenn Sie Informationen aus mehreren Datenquellen in einer Datenbank massenhaft laden oder Daten aus einem externen System automatisch verarbeiten möchten, wird der CSV-Import äußerst nützlich.
Häufige Anwendungsfälle für CSV-Import
- Große Datensätze handhaben : Anstatt Tausende von Datensätzen manuell einzugeben, können Sie sie mit CSV-Import schnell verarbeiten.
 - Datenmigration : Praktisch für das Importieren von Daten, die aus anderen Systemen exportiert wurden, in MySQL.
 - Regelmäßige Datenaktualisierungen : In Systemen, die häufige Updates erfordern, ist die Automatisierung mit CSV-Dateien hochgradig effektiv.
 
2. Voraussetzungen
Bevor Sie eine CSV-Datei in MySQL importieren, sind bestimmte Konfigurationen und Vorbereitungen erforderlich, um einen reibungslosen Prozess zu gewährleisten.
2.1 Erforderliche Umgebung
- MySQL-Server-Installation Sie benötigen eine ordnungsgemäß installierte MySQL-Instanz. Überprüfen Sie, ob MySQL in Ihrer Umgebung – sei es Windows, macOS oder Linux – läuft.
 - Notwendige Berechtigungen überprüfen Um CSV-Dateien zu importieren, muss der MySQL-Benutzer die entsprechenden Privilegien haben, insbesondere das 
LOAD DATA INFILE-Privileg. Ohne dieses können Imports verweigert werden. 
2.2 CSV-Dateiformat
- Trennzeichen CSV-Dateien sind in der Regel durch Kommas getrennt, aber manchmal werden Tabs oder Semikolons verwendet. Bestätigen Sie immer das Trennzeichen vor dem Import.
 - Kodierungsprüfung Wenn die CSV-Datei eine andere Zeichenkodierung verwendet (z. B. UTF-8, Shift-JIS), kann es während des Imports zu Zeichenschäden kommen. Überprüfen Sie die Dateikodierung im Voraus und konvertieren Sie sie bei Bedarf in die richtige.
 

3. Importieren von CSV mit dem LOAD DATA INFILE-Befehl
Die gängigste Methode, um CSV-Dateien in MySQL zu importieren, ist die Verwendung des LOAD DATA INFILE-Befehls, der es einfach macht, große Datenmengen in eine Tabelle massenhaft zu laden.
3.1 Grundlegende Syntax
Hier ist die grundlegende Syntax für das Importieren einer CSV-Datei in MySQL:
LOAD DATA INFILE '/path/to/file.csv' INTO TABLE table_name
FIELDS TERMINATED BY ','
LINES TERMINATED BY 'n';
FIELDS TERMINATED BY: Definiert das Trennzeichen zwischen den Feldern. Ein Komma ist das häufigste.LINES TERMINATED BY: Definiert das Zeilentrennzeichen, in der Regel\n(Zeilenumbruch).
3.2 Beispiel-Ausführung
Im folgenden Beispiel wird eine Datei namens user_data.csv in die Tabelle users importiert:
LOAD DATA INFILE '/path/to/user_data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY 'n'
IGNORE 1 LINES;
IGNORE 1 LINES: Überspringt die erste Zeile (Kopfzeile). Nützlich, wenn die CSV Spaltennamen in der ersten Zeile enthält.
3.3 Hinweise zu Dateipfad und Berechtigungen
Die Datei muss sich an einem Ort befinden, auf den der MySQL-Server zugreifen kann. Wenn der Server die Datei nicht lesen kann, verwenden Sie LOAD DATA LOCAL INFILE, um die Daten vom Client aus zu importieren.
4. Behebung häufiger Probleme
Hier sind Lösungen für typische Probleme, die beim Importieren von CSV-Dateien in MySQL auftreten können.
4.1 Probleme mit dem Dateipfad
Wenn der Dateipfad falsch ist, sehen Sie möglicherweise den Fehler The MySQL server is not permitted to read from the file. In solchen Fällen überprüfen Sie den korrekten Pfad auf dem Server oder verwenden Sie die Option LOAD DATA LOCAL INFILE, um Dateien vom Client aus zu laden.
LOAD DATA LOCAL INFILE '/path/to/file.csv' INTO TABLE table_name
FIELDS TERMINATED BY ','
LINES TERMINATED BY 'n';
4.2 Probleme mit der Zeichenkodierung
Wenn die Datei mit einer anderen Kodierung gespeichert ist, kann es während des Imports zu unlesbarem Text kommen. Um dies zu verhindern, bestätigen Sie die Dateikodierung und legen Sie den entsprechenden Zeichensatz in MySQL fest:
SET NAMES 'utf8mb4';

5. Praktisches Beispiel: Importieren einer CSV-Datei
Lassen Sie uns den schrittweisen Prozess des Importierens einer CSV-Datei in MySQL durchgehen.
5.1 Vorbereitung der CSV-Datei
Erstellen Sie eine CSV-Datei (data.csv) mit dem folgenden Inhalt:
id,name,age
1,Taro Yamada,28
2,Hanako Sato,34
3,Ichiro Tanaka,45
5.2 Ausführen des Befehls
Um die Datei in die users-Tabelle zu importieren, führen Sie diesen Befehl aus:
LOAD DATA INFILE '/path/to/data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY 'n'
IGNORE 1 LINES;
Dieser Befehl importiert alle Zeilen ab der zweiten Zeile in die users-Tabelle.
6. Fortgeschritten: Fehlerbehandlung und doppelte Daten
Hier erfahren Sie, wie Sie Fehler und doppelte Daten beim Importieren von CSV-Dateien in MySQL behandeln.
6.1 Behandlung doppelter Daten
Wenn Datensätze mit demselben Schlüssel bereits existieren, verwenden Sie die Option REPLACE, um die vorhandenen Zeilen mit neuen Daten zu überschreiben:
LOAD DATA INFILE '/path/to/data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY 'n'
IGNORE 1 LINES
REPLACE;
6.2 Fehlerbehandlung
Wenn Sie den Vorgang trotz auftretender Fehler fortsetzen möchten, verwenden Sie die Option IGNORE. Diese überspringt problematische Zeilen, während der Rest der Daten weiterhin importiert wird:
LOAD DATA INFILE '/path/to/data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY 'n'
IGNORE 1 LINES
IGNORE;

7. Fazit
Das Importieren von CSV-Dateien in MySQL ist ein leistungsstarkes Werkzeug zur Verwaltung großer Datensätze und zur effizienten Migration von Daten zwischen Systemen. Durch das Beherrschen der Grundlagen und das Erlernen der Fehler- und Duplikatbehandlung können Sie zuverlässige und stabile Datenimporte sicherstellen.
In zukünftigen Artikeln werden wir auch behandeln, wie man Daten aus MySQL-Datenbanken exportiert, um Ihre Datenmanagement‑Fähigkeiten weiter zu verbessern.

 
