CSV zu SQL Konverter
Das Einfügen von CSV-Daten in eine Datenbank bedeutet normalerweise, entweder ein Ladewerkzeug zu starten oder COPY / LOAD DATA INFILE-Befehle zu schreiben, die nur mit lokalen Dateien funktionieren. Für kleine Datensätze, Dutzende, Hunderte, ein paar Tausend Zeilen, sind einfache INSERT-Anweisungen, die Sie in jede SQL-Konsole einfügen können, oft schneller. Dieses Tool nimmt Ihre CSV, nimmt einen Tabellennamen und erzeugt pro Zeile ein INSERT mit in Backticks gesetzten Bezeichnern und einfach in Anführungszeichen gesetzten Werten, die sicher ausgeführt werden können.
Wie das SQL zusammengestellt wird
-
1
CSV einfügen
Standard-CSV mit optionaler Kopfzeile. Der Parser verarbeitet zitierte Zellen mit eingebetteten Trennzeichen.
-
2
Tabellenname festlegen
Nicht-alphanumerische Zeichen im Tabellennamen werden durch Unterstriche ersetzt; fällt auf `my_table` zurück, wenn leer.
-
3
Spalten kommen aus der Kopfzeile
Wenn der Kopfzeilenmodus aktiviert ist, wird Zeile 1 zur Spaltenliste. Andernfalls werden die Spalten `column_1`, `column_2` usw. benannt.
-
4
Ein INSERT pro Datenzeile
Jede Zeile wird zu `INSERT INTO table (cols) VALUES (...)`. Werte sind einfach in Anführungszeichen gesetzt und interne Anführungszeichen werden verdoppelt.
Dialekt, Zitierung und wann man etwas anderes verwenden sollte
Der Generator erzeugt SQL im MySQL-Stil mit Backticks um Bezeichner und einfachen Anführungszeichen um Werte. Die meisten Datenbanken akzeptieren es mit geringfügigen Anpassungen.
Dialekt-Spickzettel
| Datenbank | Bezeichner-Zitierung | Anmerkungen |
|---|---|---|
| MySQL | Backticks | Funktioniert unverändert. |
| MariaDB | Backticks | Funktioniert unverändert. |
| PostgreSQL | doppelte Anführungszeichen | Ersetzen Sie ` durch " vor der Ausführung. |
| SQLite | doppelte Anführungszeichen | Ersetzen Sie ` durch " oder lassen Sie die Bezeichner-Zitierung weg. |
| SQL Server | eckige Klammern | Ersetzen Sie ` durch []; achten Sie auf N'...' für Unicode. |
Wie Werte escaped werden
Alle Werte sind einfach in Anführungszeichen gesetzt und alle eingebetteten einfachen Anführungszeichen werden verdoppelt (O'Brien wird zu 'O''Brien'). Das ist der SQL-92-Weg und funktioniert in jeder gängigen Datenbank. Der Konverter führt keine Typumwandlung durch, alles wird als String-Literal ausgegeben, sodass die implizite Umwandlung der Datenbank '42' in eine Ganzzahl umwandelt, wenn die Spalte INT ist.
Tipps für saubere Importe
- Erstellen Sie zuerst die Tabelle. Der Konverter gibt nur
INSERT-Anweisungen aus, nichtCREATE TABLE. Kombinieren Sie es mit einem Schema, das Sie manuell definieren oder aus Ihrem ORM generieren. - Teilen Sie große Dateien in Abschnitte. Fügen Sie 500-1000 Zeilen auf einmal ein, wenn Ihr SQL-Client eine Größenbeschränkung für Anweisungen hat.
- In einer Transaktion einfügen. Für alles über ein paar hundert Zeilen, umrahmen Sie das Einfügen mit
BEGIN;undCOMMIT;(oderSTART TRANSACTION;/COMMIT;). Viel schneller als jede Anweisung automatisch zu bestätigen.
Wann man die SQL-Generierung überspringen sollte
Wenn Ihre Datei mehr als ~50.000 Zeilen hat, sind native Bulk-Loader (COPY in Postgres, LOAD DATA INFILE in MySQL, bcp in SQL Server) um ein Vielfaches schneller als gescriptete INSERTs. Dieses Tool ist für schnelle Importe, Testdatensätze und einmalige Migrationen gedacht.
Häufig gestellte Fragen
Nein. Es gibt nur INSERT-Anweisungen aus. Definieren Sie das Schema selbst mit CREATE TABLE im Voraus, so behalten Sie die Kontrolle über Spaltentypen, Längen und Einschränkungen, anstatt den Konverter raten zu lassen.
Mit einer Änderung: Ersetzen Sie die Backtick-Bezeichner-Zitate um Tabellen- und Spaltennamen durch doppelte Anführungszeichen. Werte sind einfach in Anführungszeichen gesetzt und werden unverändert in jedem SQL-92-Dialekt ausgeführt.
Einfache Anführungszeichen innerhalb von Werten werden verdoppelt (O''Brien), was der Standard-SQL-Escape ist. Backslashes, Prozentzeichen und Unterstriche werden wörtlich durchgereicht, eine Sonderbedeutung erhalten sie nur in LIKE-Mustern.
Ja, die CSV wird an unseren Server gesendet, damit das SQL generiert werden kann. Sie wird nicht gespeichert und nicht zum Seitenlink hinzugefügt.
Verwandte Tools
MKV-zu-MP4-Konverter
Konvertiere MKV-Videos in MP4 für flüssigere Wiedergabe auf iPhone, iPad, QuickTime, Browsern, Fernsehern und Editoren. Lade eine .mkv-Datei hoch und lade eine kompatible .mp4 herunter.
Untertitel-Konverter
Wandeln Sie SRT-Untertitel lokal in WebVTT oder VTT-Untertitel in SRT um. Prüfen Sie Zeitangaben, bewahren Sie mehrzeiligen Text und laden Sie das Ergebnis herunter.
M4A-in-MP3-Konverter
Wandle M4A-Audio in MP3 um, um es breiter abspielen zu können. Lade eine .m4a-Datei hoch und lade eine kompatible .mp3-Kopie herunter.
XML-zu-CSV-Konverter
Wandle flache XML-Zeilen im Browser in kommagetrennte UTF-8-CSV um. Attribute werden unterstützt, Grenzen geprüft und Formeln abgesichert.
CSV in Excel umwandeln
CSV-Daten im Browser in eine einblättrige XLSX-Arbeitsmappe umwandeln, Trennzeichen prüfen, Kennungen erhalten und Inhalte lokal behalten.
Excel-in-CSV-Konverter
XLSX- oder XLS-Blätter im Browser in CSV oder TSV umwandeln. Blätter, Trennzeichen, Kodierung und ausgeblendete Daten ohne Datei-Upload auswählen.