So nutzt du: CSV & Excel zu SQL
- Füge CSV- oder kopierte Excel-Zellen ein, öffne eine
.csv- /.xlsx-Datei oder klicke auf Beispiel laden. - Wähle deinen Datenbank-Dialekt und gib den Tabellennamen ein.
- Wähle die gewünschten Statements:
CREATE TABLEmit erkannten Typen,DROP TABLE, eine Transaktion und wie viele Zeilen in jedesINSERTsollen. - Prüfe die erkannten Spaltentypen in der Vorschau und klicke dann auf Kopieren oder .sql herunterladen. Führe das Ergebnis anschließend in deinem Datenbank-Client aus.
Was ist ein CSV-zu-SQL-Konverter?
Ein CSV-zu-SQL-Konverter wandelt Zeilen einer Tabellenkalkulation in SQL-Statements um, die eine Datenbank ausführen kann: ein CREATE TABLE-Statement, das die Spalten definiert, und INSERT INTO … VALUES-Statements, die die Daten einfügen. Das ist der schnellste Weg, einen einmaligen Export zu laden, eine Entwicklungsdatenbank zu befüllen oder Daten aus Excel nach MySQL oder PostgreSQL zu übertragen, ganz ohne Import-Assistent.
CREATE TABLE `customers` (
`id` INT NOT NULL,
`name` VARCHAR(16),
`signup_date` DATE,
`monthly_spend` DECIMAL(10,2),
PRIMARY KEY (`id`)
);
INSERT INTO `customers` (`id`, `name`, `signup_date`, `monthly_spend`) VALUES
(1, 'Ada Lovelace', '2024-01-15', 49),
(4, 'O''Brien, Pat', '2024-04-09', 49);
So werden Spaltentypen erkannt
Jeder Wert in einer Spalte wird geprüft, und es wird der engste Typ gewählt, der zu allen passt. In der Vorschau wird das Ergebnis als Badge über jeder Spalte angezeigt.
| Werte in der Spalte | MySQL | PostgreSQL | SQL Server |
|---|---|---|---|
| Ganzzahlen | INT / BIGINT | INTEGER / BIGINT | INT / BIGINT |
| Dezimalzahlen | DECIMAL(p,s) | NUMERIC(p,s) | DECIMAL(p,s) |
| wahr / falsch | TINYINT(1) | BOOLEAN | BIT |
2024-01-15 | DATE | DATE | DATE |
2024-01-15 14:30:00 | DATETIME | TIMESTAMP | DATETIME2 |
| Text | VARCHAR(n) / TEXT | VARCHAR(n) / TEXT | NVARCHAR(n) / NVARCHAR(MAX) |
Textspalten erhalten eine VARCHAR-Länge, die vom längsten Wert aufgerundet wird (16, 32, 50, 100, 255…). Prüfe die Längen, bevor du Produktivdaten lädst. Eine Spalte, die in deiner Stichprobe kurz ist, kann später längere Werte enthalten.
Escaping und Unterschiede zwischen den Dialekten
- Anführungszeichen im Text werden verdoppelt (
O'Brien→'O''Brien'). Die MySQL-Ausgabe escaped außerdem Backslashes. - Bezeichner werden in Backticks (MySQL), doppelten Anführungszeichen (PostgreSQL, SQLite, Oracle) oder eckigen Klammern (SQL Server) gesetzt. So funktionieren reservierte Wörter wie
orderodergroupals Spaltennamen. - Mehrzeilige Inserts sind deutlich schneller als ein Statement pro Zeile. SQL Server erlaubt höchstens 1.000 Zeilen pro
VALUES-Liste, Oracle nutztINSERT ALL … SELECT 1 FROM DUAL. - Leere Zellen werden standardmäßig zu
NULL. Deaktiviere die Option, wenn leere Strings eingefügt werden sollen.
Tipps für große Importe
Verpacke die Inserts in eine Transaktion, damit eine fehlgeschlagene Zeile nicht die halben Daten zurücklässt, und nutze Batches mit 500–1.000 Zeilen. Bei Millionen Zeilen sind native Bulk-Loader wie MySQL LOAD DATA INFILE oder PostgreSQL COPY noch schneller. Hast du stattdessen JSON? Dann nutze JSON zu SQL, und entwirf eine Tabelle von Hand mit dem CREATE TABLE Generator. Das Ergebnis räumst du mit dem SQL Formatter auf.
Auch gesucht als: excel zu sql, csv zu sql insert, csv zu mysql, excel zu mysql, csv zu postgresql, xlsx zu sql, insert statement generator, sql insert generator.
Passende Tools zu: CSV & Excel zu SQL
- SQL zu JSON, CSV & Excel — Füge einen SQL-Dump oder ein paar INSERT-Statements ein und erhalte die Zeilen als JSON, CSV oder als Excel-Arbeitsmappe mit einem Tabellenblatt pro Tabelle.
- Excel zu JSON — Öffne eine .xlsx-Arbeitsmappe oder füge Zellen direkt aus Excel oder Google Sheets ein und erhalte sauberes JSON.
- CSV zu JSON — Füge CSV oder TSV ein und erhalte ein JSON-Array aus Objekten.
- JSON zu Excel — Verwandle ein JSON-Array in eine echte Excel-Arbeitsmappe.
Häufige Fragen
Wie wandle ich ein Excel-Blatt in SQL-INSERT-Statements um?
Welche Datenbanken werden unterstützt?
Kann ich für jede Zeile ein eigenes INSERT-Statement bekommen?
Warum wurden meine Spaltennamen geändert?
signup_date um, damit es keine Probleme mit Anführungszeichen gibt. Deaktiviere sie, wenn der ursprüngliche Kopftext bleiben soll.