CSV in SQL umwandeln
Machen Sie aus einem Tabellenexport ein Skript, das Ihre Datenbank direkt ausführen kann. Die Kopfzeile liefert die Spaltennamen, jede Zeile wird zu einem INSERT, und die Maskierung richtet sich nach dem gewählten SQL-Dialekt.
Daten-Konverter
oder CSV, TSV, TXT …-Dateien hierher ziehen ·
Max. 95 MB pro Datei· Bis zu 20 Dateien· Gelöscht nach 30 Minuten
Dateien werden auf unseren Servern verarbeitet und nach 30 Minuten gelöscht.
Zeichen, das Spalten in CSV- und Textdateien trennt, sowohl beim Lesen als auch beim Schreiben. Automatisch erkennt es anhand der Eingabe und schreibt Kommas.
UTF-8 funktioniert für jede Sprache. Wählen Sie UTF-8 mit BOM, wenn Excel unter Windows beim Öffnen der CSV-Datei Umlaute oder asiatische Zeichen fehlerhaft anzeigt.
Eingabe aus Excel, ODS und Numbers: nur das erste Blatt oder alle Blätter umwandeln (eine CSV pro Blatt in einer ZIP-Datei oder ein JSON-Schlüssel pro Blatt).
Name des Tabellenregisters in der neuen Tabelle, bis zu 31 Zeichen.
Array von Objekten verwendet Spaltennamen als Schlüssel für jede Zeile; Array von Arrays ist kompakter und behält die Kopfzeile als erstes Array.
Name des äußeren Elements, das alle Zeilen umschließt; jede Zeile wird darin zu einem <row>.
Wird in CREATE-TABLE- und INSERT-Anweisungen verwendet. Nur Buchstaben, Ziffern und Unterstriche.
Anführungszeichen und Spaltentypen unterscheiden sich leicht zwischen Datenbanken; wählen Sie die, in die Sie importieren.
Datumszellen in einem einheitlichen Format schreiben. ISO (2026-10-18) ist für Datenbanken und Code am sichersten; „Unverändert“ lässt sie so, wie sie in der Quelle stehen.
So verwenden Sie dieses Tool
- 1
CSV-Datei hochladen
Fügen Sie eine CSV-Datei oder bis zu 20 Dateien mit je 95 MB hinzu. Dateien mit Semikolon oder Tabulator als Trennzeichen werden automatisch erkannt.
- 2
Tabellenname und Dialekt festlegen
Geben Sie unter Erweiterte Einstellungen den SQL-Tabellenname ein und wählen Sie den SQL-Dialekt: MySQL, PostgreSQL, SQLite oder SQL Server. Datumsangaben steht auf ISO, damit Datumswerte ohne Rätselraten geladen werden.
- 3
Umwandeln und ausführen
Klicken Sie auf Umwandeln in SQL, prüfen Sie die CREATE-TABLE-Zeile und führen Sie das Skript dann in Ihrem Datenbank-Client oder im Importdialog aus.
CSV in SQL erzeugt aus Ihrer Kopfzeile eine CREATE-TABLE-Anweisung und für jede Datenzeile ein INSERT, passend maskiert für MySQL, PostgreSQL, SQLite oder SQL Server. So gelangt eine Tabelle mit einem einzigen Skript in eine Datenbank.
Warum CSV in SQL-INSERT-Anweisungen umwandeln?
Jede Datenbank hat einen schnellen CSV-Loader, und jeder hat einen Haken. LOAD DATA LOCAL INFILE ist seit MySQL 8.0 serverseitig standardmäßig deaktiviert, COPY FROM einer Datei erfordert in PostgreSQL Superuser-Rechte oder die Mitgliedschaft in einer besonderen Rolle, und BULK INSERT von SQL Server liest Pfade auf dem Servercomputer, nicht auf Ihrem Laptop. Gehostete Datenbanken bieten oft nur einen Abfrageeditor.
Ein INSERT-Skript umgeht all das. Es ist Text, Sie können es lesen, als Seed-Daten in die Versionsverwaltung einchecken und in jedem Client ausführen. Der Preis ist die Geschwindigkeit: Zehntausende Zeilen laden problemlos, Millionen gehören dagegen in einen nativen Bulk-Loader. Wer Referenzdaten in einer Arbeitsmappe pflegt, kann den CSV-Schritt mit Excel in SQL überspringen.
Beispiel: CSV in SQL für MySQL
CREATE TABLE `my_table` ( `id` INT, `name` VARCHAR(255), `joined` DATE ); INSERT INTO `my_table` (`id`, `name`, `joined`) VALUES (1, 'Jana Krüger', '2026-03-02'), (2, 'Liam O''Brien', '2026-04-15');
Wie sich die vier SQL-Dialekte in der Ausgabe unterscheiden
Bezeichner stehen in Backticks, etwa order date. So lassen sich auch reservierte Wörter wie order als Spaltennamen verwenden.
- Passt auch für MariaDB
- Gute Standardwahl für Importe in phpMyAdmin
Bezeichner stehen in normalen doppelten Anführungszeichen. Namen in Anführungszeichen behalten ihre Groß- und Kleinschreibung, daher sind "Email" und email zwei verschiedene Spalten.
- Namen über 63 Byte werden abgeschnitten
Wieder doppelte Anführungszeichen, dazu flexible Typisierung: Eine als INT deklarierte Spalte nimmt weiterhin Text an, sofern die Tabelle nicht als STRICT deklariert ist. Diese Option gibt es seit SQLite 3.37.0.
- Läuft in der sqlite3-Shell oder in DB Browser for SQLite
Bezeichner stehen in eckigen Klammern, etwa [order date]. Textspalten mit nicht lateinischen Zeichen benötigen NVARCHAR und Literale der Form N'…'.
- Läuft in SSMS oder Azure Data Studio
| Organisation | Anforderung | Quelle |
|---|---|---|
| MySQL 8.0 | max_allowed_packet ist standardmäßig 64 MB; eine einzelne Anweisung, die größer ist, wird abgelehnt | — |
| SQL Server | Eine INSERT-…-VALUES-Liste akzeptiert höchstens 1.000 Zeilenwertausdrücke | — |
| PostgreSQL | Bezeichner über 63 Byte werden stillschweigend abgeschnitten | — |
| SQLite | Eine Tabelle hat in der Standardkonfiguration höchstens 2.000 Spalten | — |
Prüfen Sie das, bevor Sie das Skript ausführen
Prüfen Sie zuerst die CREATE-TABLE-Zeile. Die Spaltentypen werden aus den Werten abgeleitet, und diese Annahme kann falsch sein: Postleitzahlen und Telefonnummern wirken numerisch, müssen aber Text bleiben, sonst verliert 02134 die führende Null. Ändern Sie den Typ im Skript, bevor Sie es ausführen, oder legen Sie die Tabelle selbst an und führen Sie nur den INSERT-Teil aus.
Tragen Sie statt my_table den echten Namen in SQL-Tabellenname ein und führen Sie das Skript, wo Ihr Client es erlaubt, in einer Transaktion aus, damit eine fehlerhafte Zeile alles zurückrollt. Weitere Zielformate für dieselbe CSV-Datei finden Sie im Datenkonverter.
CSV- und SQL-Skriptformate
CSV
Kommagetrennte Werte
CSV ist ein Nur-Text-Format für Tabellen, bei dem jede Zeile eine Datenzeile ist und Kommas die Spalten trennen. Es wird seit den Anfängen der Computertechnik genutzt und ist in RFC 4180 beschrieben, wobei viele Varianten Semikolons oder Tabulatoren und andere Zeichenkodierungen verwenden. Fast jede Tabellenkalkulation, Datenbank und Analyse-Software kann es importieren und exportieren, daher ist es das Standardformat für den Datenaustausch zwischen Systemen. CSV speichert nur Werte, ohne Formeln, Formatierung, mehrere Tabellenblätter oder Datentypen.
- Komprimierung
- –
- Transparenz
- –
- Animation
- –
- Eingeführt
- –
SQL
SQL-Skript
Eine SQL-Datei ist ein Textskript mit Anweisungen der Structured Query Language, etwa CREATE TABLE und INSERT, die eine Datenbank der Reihe nach ausführt. Sie wird häufig für Datenbank-Backups, Migrationen und die Weitergabe von Beispieldaten verwendet. Die Sprache selbst ist ein ISO-Standard, doch MySQL, PostgreSQL, SQLite und SQL Server haben jeweils eigene Dialekte, weshalb Skripte zwischen Systemen oft kleine Anpassungen brauchen. Jeder Texteditor kann eine SQL-Datei öffnen, zum Ausführen braucht man einen Datenbank-Client.
- Komprimierung
- –
- Transparenz
- –
- Animation
- –
- Eingeführt
- –
CSV wird zu SQL, wenn eine Datei als Tabelle in einer Datenbank landen soll, die Sie nur über ein Abfragefenster erreichen: etwa um eine neue App mit Daten zu füllen, eine Referenzliste zu laden oder eine Tabelle ohne Serverzugriff nach MySQL oder PostgreSQL zu übertragen.
Häufige Fragen zum Umwandeln von CSV in SQL
Warum eine SQL-Datei statt LOAD DATA oder COPY?
Bulk-Loader wie MySQLs LOAD DATA INFILE und PostgreSQLs COPY sind schneller, brauchen aber Dateizugriff auf dem Server oder zusätzliche Client-Optionen. Ein einfaches Skript läuft überall, wo Sie SQL einfügen können: in einer Cloud-Datenbankkonsole, in phpMyAdmin oder in einer geprüften Migration.
Wie werden Apostrophe in Namen wie O'Brien geschrieben?
In einem SQL-String wird ein einfaches Anführungszeichen durch Verdoppeln maskiert, der Wert wird also als 'O''Brien' geschrieben. Alle vier Dialekte akzeptieren diese Form, deshalb bricht ein Name mit Apostroph das INSERT nicht.
Was wird aus den CSV-Spaltenüberschriften in der Tabelle?
Die Spaltennamen, so in Anführungszeichen gesetzt, wie es der gewählte Dialekt verlangt. Überschriften wie Unit Price funktionieren, aber ein Name mit Leerzeichen muss auch in jeder späteren Abfrage in Anführungszeichen stehen. Benennen Sie solche Überschriften daher möglichst vor dem Umwandeln in unit_price um.
Kann ich die SQL-Datei über phpMyAdmin importieren?
Ja, auf dem Reiter „Import“. Die Obergrenze ist dort upload_max_filesize von PHP, in einer Standard-php.ini sind das 2 MB. Viele Hoster erhöhen den Wert, und die Seite zeigt das aktuelle Limit an. Teilen Sie eine große CSV-Datei in mehrere Dateien auf, wenn das Skript größer ausfällt.
Kann ich eine Tabelle auch wieder in CSV umwandeln?
Exportieren Sie die Tabelle als Dump und wandeln Sie sie mit SQL in CSV um, oder nutzen Sie den CSV-Export Ihres Datenbank-Clients. Beides liefert Zeilen, die sich in einer Tabellenkalkulation wieder öffnen lassen.
- Excel in SQL umwandelnExcel-Tabelle in ein SQL-Skript für MySQL, PostgreSQL, SQLite oder SQL Server umwandeln. Kopfzeilen werden Spalten, Zeilen INSERT-Befehle.
- SQL in CSV umwandelnINSERT-Anweisungen aus .sql-Dumps in CSV-Zeilen für Excel oder Google Sheets umwandeln. Für MySQL, phpMyAdmin, SQLite und SQL Server.
- CSV in XLSX umwandelnCSV in eine Excel-XLSX-Arbeitsmappe umwandeln – führende Nullen, lange IDs und Umlaute bleiben erhalten. Komma, Semikolon und Tab werden erkannt.
- CSV in XML umwandelnCSV-Zeilen in wohlgeformtes XML mit eigenem Root-Tag umwandeln. Sonderzeichen maskiert, Trennzeichen erkannt, UTF-8. Bis zu 20 Dateien gleichzeitig.
- CSV in Parquet umwandelnCSV in Apache Parquet umwandeln – mit typisierten Spalten und Kompression für pandas, DuckDB, Spark, BigQuery oder Athena. Ohne Python oder Spark.
- Parquet in CSV umwandelnParquet-Dateien online in CSV umwandeln und in Excel, Google Sheets oder anderen Tools öffnen. Ohne Python, Spark oder DuckDB. Bis zu 20 Dateien.