25th Jun 2024 8 Leseminuten Importieren einer CSV-Datei in eine MySQL-Datenbank Martyna Sławińska MySQL Inhaltsverzeichnis Über CSV-Dateien Warum eine CSV-Datei in eine Datenbank importieren? Importieren einer CSV-Datei in eine MySQL-Datenbank Importieren einer CSV-Datei in MySQL über die Befehlszeile Verbinden einer Datenbank Importieren einer CSV-Datei Verwendung einer MySQL-GUI Verbinden einer Datenbank Importieren einer CSV-Datei Lassen Sie uns einige CSV-Dateien importieren! CSV-Dateien speichern und übertragen Daten zwischen Datenbanken. Lesen Sie weiter, um herauszufinden, wie einfach es ist, mit CSV-Dateien in einer MySQL-Datenbank zu arbeiten. CSV-Dateien sind eines der ältesten Formate für den Datenaustausch und werden von IT-Fachleuten aus verschiedenen Bereichen immer noch häufig verwendet. Es ist üblich, dass Online-Datenquellen und verschiedene Datenbanksoftware ihre Daten-Uploads und -Downloads im CSV-Format anbieten. In diesem Artikel gehen wir kurz darauf ein, was eine CSV-Datei ist und wie man mit ihr arbeitet. Sie erfahren, wie Sie eine CSV-Datei in eine MySQL-Datenbank importieren können, indem Sie entweder ein Befehlszeilentool oder eine grafische Benutzeroberfläche wie MySQL Workbench verwenden. Obwohl letzteres viel schneller und einfacher ist, ist es wichtig, beides zu kennen und zu üben. Wenn Sie noch nie mit einer MySQL-Datenbank gearbeitet haben, sollten Sie sich unbedingt unsere interaktiven Kurse ansehen: Der Kurs SQL für Anfänger in MySQL enthält 126 Übungen, die das Auswählen, Abfragen, Aggregieren und Gruppieren von Daten sowie JOINs und Der Kurs INSERT, UPDATE oder DELETE von Daten in MySQL enthält 70 Übungen, in denen Sie Tabellendatensätze einfügen, aktualisieren und löschen. Beide Kurse enden mit einem Quiz, damit Sie überprüfen können, wie viel Sie gelernt haben. Sie können auch diesen Artikel lesen, um zu erfahren, wie Sie eine MySQL-Datenbank auf einem Windows-PC installieren. Das ist für beide Kurse nicht notwendig, aber wenn Sie eine MySQL-Datenbank auf Ihrem Computer haben, können Sie später damit üben. Beginnen wir also mit unserer Übersicht über das CSV-Dateiformat. Über CSV-Dateien CSV steht für "Komma-getrennte Werte". Eine CSV-Datei ist eine Textdatei, die tabellarische Daten speichert. Jede Zeile einer CSV-Datei stellt eine Zeile einer Tabelle dar. Normalerweise werden die Spaltenwerte durch ein Komma getrennt (daher der Name " kommagetrennte Werte"), aber Sie können auch andere Trennzeichen verwenden, z. B. ein Semikolon oder einen Tabulator. Normalerweise werden in der ersten Zeile einer CSV-Datei die Spaltenüberschriften und in den folgenden Zeilen die Daten gespeichert. Nun werden Sie sich vielleicht fragen, was passiert, wenn ein Wert ein Kommazeichen enthält. Es wird als Sonderfall behandelt: Der Wert wird in doppelte Anführungszeichen gesetzt. Der Wert 12.34 zum Beispiel kommt ohne Anführungszeichen aus, aber der Wert 12,34 muss als "12,34" geschrieben werden, um zu verhindern, dass er als zwei Werte (12 und 34) statt als ein Wert (12,34) betrachtet wird. Schauen wir uns eine Beispiel-CSV-Datei mit dem Namen countries.csv an, die wir später in die MySQL-Datenbank importieren werden. id,country,population,capital 1,USA,"329,500,000",Washington D.C. 2,Canada,"38,010,000",Ottawa 3,UK,"67,220,000",London 4,Spain,"47,350,000",Madrid 5,Greenland,"56,367",Nuuk Sie ist vielleicht nicht so übersichtlich wie eine Tabelle, aber Sie können das Muster deutlich erkennen. In der ersten Zeile werden kommagetrennte Spaltenüberschriften gespeichert, und in den folgenden Zeilen werden kommagetrennte Werte gespeichert. Bitte beachten Sie, dass jeder Wert, der ein Komma enthält, in doppelte Anführungszeichen gesetzt wird. Und hier ist eine Tabelle, die auf der Datei countries.csv basiert: idcountrypopulationcapital 1USA329,500,000Washington D.C. 2Canada38,010,000Ottawa 3UK67,220,000London 4Spain47,350,000Madrid 5Greenland56,367Nuuk Warum eine CSV-Datei in eine Datenbank importieren? CSV-Dateien verwenden ein einfaches Textformat, um Daten zu speichern. Relationale Datenbanken und CSV-Dateien wurden etwa zur gleichen Zeit in den 1970er Jahren entwickelt. Seitdem werden CSV-Dateien für die Übertragung von Daten zwischen Datenbanken verwendet. Wir können Daten in einem CSV-Dateiformat aus einer Datenbank exportieren und sie in diesem Format in eine andere Datenbank importieren (z. B. zur weiteren Verarbeitung und Analyse). Auch verschiedene Online-Datenressourcen und Datenbank-Tools bieten Daten-Uploads und -Downloads im CSV-Format an. Daher ist CSV ein sehr gängiges Dateiformat für die Übertragung von Daten. Der Import von CSV-Dateien ist schnell und einfach. Er ist viel besser als das Erstellen einer Tabelle und das manuelle Einfügen der Daten. Aus diesem Grund spielen CSV-Dateien trotz ihrer Einfachheit eine so wichtige Rolle bei der Datenverarbeitung und -analyse. Importieren einer CSV-Datei in eine MySQL-Datenbank In der MySQL-Datenbank gibt es zwei Möglichkeiten, eine CSV-Datei zu importieren. Die eine ist die Verwendung eines Befehlszeilentools und die andere die Verwendung einer grafischen Benutzeroberfläche (GUI). Schauen wir uns beide Möglichkeiten an. Importieren einer CSV-Datei in MySQL über die Befehlszeile Führen Sie die folgenden Schritte aus, um eine CSV-Datei über die Befehlszeile in die MySQL-Datenbank zu importieren. Verbinden einer Datenbank Wenn Sie eine funktionierende MySQL-Datenbank auf Ihrem Computer installiert haben, können Sie den MySQL Command Line Client (siehe unten) verwenden: Sie können eine Verbindung zu Ihrer Datenbank herstellen, indem Sie den Befehl mysql --host=localhost --user=username --password ausführen und ein Passwort eingeben: Bitte beachten Sie, dass sowohl der MySQL Command Line Client als auch das Standard-Befehlszeilentool die gleiche mysql-Eingabeaufforderung bereitstellen. Importieren einer CSV-Datei Bevor Sie eine CSV-Datei importieren, müssen Sie manuell eine Tabelle mit den richtigen Datentypen für jede Spalte erstellen. Lassen Sie uns also zunächst mit dem Befehl CREATE SCHEMA ein neues Schema erstellen. Dann führen wir den Befehl USE aus, um sicherzustellen, dass Sie sich in Ihrem neu erstellten Schema befinden. Zuletzt erstellen wir eine neue Tabelle mit dem Befehl CREATE TABLE. CREATE SCHEMA data; USE data; CREATE TABLE `countries` ( `id` int DEFAULT NULL, `country` text, `population` text, `capital` text); Mit dem Befehl CREATE SCHEMA gefolgt von einem Schemanamen wird ein neues Schema mit dem Namen data erstellt. Und der Befehl USE, gefolgt von einem Schemanamen, stellt sicher, dass wir innerhalb des neu erstellten Schemas arbeiten. Anschließend erstellen wir mit dem Befehl CREATE TABLE eine neue Tabelle. Jetzt können wir die countries Tabelle mit den Daten aus unserer CSV-Datei laden. LOAD DATA INFILE 'countries.csv' INTO TABLE countries FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS; Dieser Befehl gibt Folgendes an: Die Datei, aus der die Daten geladen werden sollen: LOAD DATA INFILE 'countries.csv' Die Tabelle, in die die Daten geladen werden sollen: INTO TABLE countries Das Zeichen, das die Werte trennt: FIELDS TERMINATED BY ',' Wenn Sie ein anderes Trennzeichen, wie z. B. ein Semikolon oder einen Tabulator, verwenden, sollten Sie diese Zeile aktualisieren, um Ihr Trennzeichen aufzunehmen: FIELDS TERMINATED BY ';' oder FIELDS TERMINATED BY ' ' Wenn einige oder alle Werte in doppelte Anführungszeichen eingeschlossen sind, fügen Sie diese Zeile ein: ENCLOSED BY '"' Das Zeichen, das die Zeilen abschließt: LINES TERMINATED BY '\n' Die Information, dass die erste Zeile, die die Kopfzeile enthält, ignoriert werden soll: IGNORE 1 ROWS; Hier ist die Konsolenausgabe aller Befehle: Überprüfen wir den Importvorgang, indem wir die Anweisung SELECT ausführen. Die Befehlszeile gibt einen korrekten Datensatz zurück, auch wenn die Formatierung möglicherweise gestört ist: Überprüfen wir dasselbe mit Hilfe der GUI-Schnittstelle. Jetzt sind wir sicher, dass der Importvorgang erfolgreich war. Schauen wir uns nun an, wie wir das gleiche mit der GUI tun können. Verwendung einer MySQL-GUI Wir verwenden MySQL Workbench, eine der beliebtesten GUIs für MySQL. Führen Sie die folgenden Schritte aus, um eine CSV-Datei über die grafische Benutzeroberfläche in eine MySQL-Datenbank zu importieren. Verbinden einer Datenbank In MySQL Workbench können Sie eine Verbindung zu einer beliebigen Datenbank herstellen, indem Sie auf der Startseite auf das +-Zeichen neben MySQL-Verbindungen klicken. Es öffnet sich ein Fenster, in dem Sie die Verbindungsdetails angeben müssen, z. B. den Verbindungsnamen, die Verbindungsmethode, den Hostnamen, den Port, den Benutzernamen und das Passwort. Testen Sie nun Ihre Verbindung, indem Sie auf die Schaltfläche Verbindung testen klicken. Geben Sie das Kennwort ein, und nach einem erfolgreichen Test erhalten Sie diese Meldung: Schließen Sie beide Fenster, indem Sie auf die Schaltfläche OK klicken. Nun können wir mit dem Import einer CSV-Datei fortfahren. Importieren einer CSV-Datei Wenn Sie eine grafische Benutzeroberfläche verwenden, müssen Sie vor dem Importieren einer CSV-Datei keine Tabelle erstellen. Der erste Schritt besteht darin, ein neues Schema zu erstellen (wenn Sie ein neues Schema anstelle eines bestehenden Schemas verwenden möchten). Dies können Sie auf zwei Arten tun: Führen Sie den Befehl CREATE SCHEMA im Abfragefenster aus: Erstellen Sie ein Schema über die GUI-Schnittstelle: Klicken Sie anschließend mit der rechten Maustaste auf die Tabellen unter dem Schemanamen und wählen Sie die Option Assistent für den Tabellenimport. Es öffnet sich ein Fenster, das Sie durch den Importvorgang führt. Wählen Sie nun die CSV-Datei, die Sie importieren möchten, und klicken Sie auf Weiter. Sie können entweder eine vorhandene Tabelle verwenden (bei dieser Option müssen Sie vor dem Importvorgang eine Tabelle erstellen) oder eine neue Tabelle erstellen. In diesem Fall entscheiden wir uns für die Erstellung einer neuen Tabelle. MySQL Workbench erkennt das Dateiformat und schlägt die zu verwendenden Kodierungs- und Spaltendatentypen vor. Sie können diese nach eigenem Ermessen ändern, aber wir werden mit den vorgeschlagenen Werten fortfahren. Hier ist die Zusammenfassung der Aufgaben, die ausgeführt werden: Und das war's schon! Wenn Sie auf die Schaltfläche Weiter klicken, erhalten Sie einen detaillierten Bericht. Nun können wir den Assistenten mit einem Klick auf die Schaltfläche Fertig stellen schließen. Überprüfen wir den Erfolg des Importvorgangs, indem wir unsere neu erstellte Tabelle abfragen. Es besteht kein Zweifel, dass der Import einer CSV-Datei über die grafische Benutzeroberfläche schneller und weniger umständlich ist als der Import über die Befehlszeile, aber beide sind gut zu wissen. Um den Import von CSV-Dateien mit verschiedenen Datenbank-Engines zu vergleichen, lesen Sie unseren Artikel How to Import CSVs to PostgreSQL Using PgAdmin. Um mehr über den Exportprozess zu erfahren, lesen Sie den Artikel How to Export a CSV File From a T-SQL Query (Wie man eine CSV-Datei aus einer T-SQL-Abfrage exportiert ), der den Exportprozess einer CSV-Datei in der MS SQL Server-Datenbank-Engine beschreibt. Lassen Sie uns einige CSV-Dateien importieren! CSV-Dateien sind wegen ihrer Einfachheit weit verbreitet. Sie können eine CSV-Datei mit einem einfachen Texteditor, wie z.B. Notepad, erstellen. CSV-Dateien können Semikolons anstelle von Kommas verwenden oder Werte in doppelte Anführungszeichen setzen oder auch nicht. Wie wir in diesem Artikel gesehen haben, ist es einfach, CSV-Dateien in eine MySQL-Datenbank zu importieren. Sie können entweder die Befehlszeile oder eine grafische Benutzeroberfläche verwenden. Der beste Weg, sich mit beiden Möglichkeiten vertraut zu machen, ist die Praxis. Probieren Sie also dieses und andere Beispiele aus. Sie können auch unsere interaktiven MySQL-Kurse nutzen, um mehr über diese Datenbank zu erfahren. Hier finden Sie eine Übersicht über die Kurse in unserem SQL von A bis Z in MySQL-Track. Viel Erfolg! Tags: MySQL