Start · Kostenlose Tools · CSV in SQL
CSV in SQL umwandeln
Eine .csv ablegen, Tabellennamen eintragen, Datenbank wählen. Sie bekommen ein CREATE TABLE, dessen
Spaltentypen aus den Daten kommen — Ganzzahl, Dezimal, Datum, Wahrheitswert, Text in passender Länge — und
INSERT-Anweisungen zum Einfügen in die Konsole oder als .sql-Datei. Semikolon und Windows-1252 werden
erkannt, Beträge wie 1.234,56 werden zu 1234.56. Nichts wird hochgeladen.
Ihre CSV
.csv, .tsv oder .xlsx hierher ziehen oder klicken zum Auswählen
Machen Sie das jeden Monat? Einmal in TableDI 2 erledigen, als Auftrag speichern, nächsten Monat erneut ausführen. TableDI 2 kostenlos laden
Nichts wird hochgeladen. Die Datei wird von JavaScript in diesem Tab gelesen und verlässt Ihren Rechner nicht — kein Server sieht sie, und mit dem Tab ist sie weg.
CSV in SQL umwandeln
- CSV ablegen. Trennzeichen und Kodierung werden aus der Datei erkannt; eine .xlsx geht ebenfalls.
- Tabelle und Datenbank wählen. Der Tabellenname wird aus dem Dateinamen vorgeschlagen. Der Dialekt bestimmt Anführungszeichen, Typen und Wahrheitswerte.
- Spaltentypen prüfen. Über dem SQL steht für jede Spalte, welcher Typ erkannt wurde — bevor irgendetwas ausgeführt wird.
- SQL mitnehmen. Kopieren oder als .sql herunterladen und in der Konsole oder im Client ausführen.
Warum der eingebaute Import oft nicht reicht
LOAD DATA INFILE, COPY und die Import-Assistenten setzen voraus, dass die
Tabelle schon existiert — mit den richtigen Spaltentypen. Die aus einem Export mit 40 Spalten von Hand
abzulesen, ist die eigentliche Arbeit. Liegt man bei einer Spalte daneben, bricht der Import mittendrin
ab, oder er klappt und alles ist VARCHAR(255). Diese Seite schreibt das CREATE TABLE und
zeigt vor dem Ausführen, was aus jeder Spalte geworden ist.
Deutsche Zahlen: was erkannt wird und was nicht
1.234,56wird zu1234.56, in einer Dezimalspalte. Punkt als Tausender- und Komma als Dezimaltrennzeichen werden verstanden, ebenso12,5.- Vorsicht bei
1.234ohne Nachkommastellen. Steht nur ein einzelner Punkt in der Zahl, gilt er als Dezimalpunkt —1.234wird also zu 1,234 und nicht zu 1234. Enthält Ihre Spalte Tausenderpunkte ohne Komma, entfernen Sie die Punkte vor dem Umwandeln oder prüfen Sie die Spalte im Ergebnis. - Beträge mit Währungszeichen wie
12,50 €machen die Spalte zu Text. Stellen Sie die Einheit in die Kopfzeile, nicht in jede Zelle. - Führende Nullen bleiben. Eine Spalte mit
01067oder00012345ist eine Nummer, keine Menge, und wird als Text angelegt.
Datum und Ja/Nein
Als Datum erkannt wird nur die ISO-Form 2026-04-03, auch mit Uhrzeit — daraus wird
TIMESTAMP, bei SQL Server DATETIME2 und bei SQLite TEXT. Das deutsche
03.04.2026 bleibt Text, weil sich ohne Kontext nicht sicher sagen lässt, welcher Teil der
Tag ist. Ebenso werden nur true/false und yes/no zu BOOLEAN;
ja und nein bleiben Text.
Spaltennamen mit Umlauten
Spaltennamen werden zu gültigen Bezeichnern: kleingeschrieben, Leer- und Sonderzeichen werden zu
Unterstrichen, aus Menge (Stück) wird menge_stück. Umlaute und ß bleiben
erhalten, weil die Bezeichner immer in Anführungszeichen stehen — Backticks bei MySQL, doppelte
Anführungszeichen bei PostgreSQL und SQLite, eckige Klammern bei SQL Server. Zwei gleichnamige Spalten
werden zu betrag und betrag_2. Einfache Anführungszeichen in Werten werden
verdoppelt, und SQL-Server-Strings bekommen das Präfix N, damit Umlaute ankommen.
INSERTs in handlichen Portionen
Ein INSERT pro Zeile ist langsam, ein einziges riesiges INSERT stößt an die Paket- oder Parametergrenze des Servers. Die Zeilen werden deshalb gruppiert — 500 pro Anweisung als Standard, höchstens 1.000 bei SQL Server, der mehr in einer Anweisung nicht annimmt.
Was die Seite nicht tut
- Schlüssel und Einschränkungen. Das CREATE TABLE enthält Spalten und Typen, keinen Primärschlüssel, keine NOT-NULL-Regeln, keine Indizes.
- Aktualisieren statt einfügen. Es entstehen INSERTs, kein UPSERT oder MERGE.
- Deutsches Datum umrechnen.
03.04.2026bleibt Text, siehe oben.
TableDI 2 ist eine Desktop-App für Dateiarbeit, die jede Periode wieder ansteht: Quellen, Regeln und Übergabe werden als Auftrag gespeichert, sodass Sie nächsten Monat die neuen Dateien hineinlegen und den Auftrag erneut ausführen. Alles läuft auf Ihrem eigenen Rechner. Für einen Export, der jeden Monat in dieselbe Tabelle soll, ist das der bessere Ort als eine Umwandlung von Hand.
Häufige Fragen
Mit welchen Datenbanken funktioniert das SQL?
MySQL und MariaDB, PostgreSQL, SQLite und SQL Server. Der Dialekt ändert die Anführungszeichen der Bezeichner, die Schreibweise von Wahrheitswerten, die Text- und Datumstypen und die Höchstzahl der Zeilen in einem INSERT.
Meine CSV ist semikolongetrennt. Muss ich sie vorher umwandeln?
Nein. Komma, Semikolon, Tabulator und senkrechter Strich werden aus den ersten Zeilen erkannt.
Die Kodierung ebenfalls — UTF-8, Windows-1252 und weitere —, sodass Umlaute nicht als
ü in der Tabelle landen.
Werden Beträge mit Dezimalkomma erkannt?
Ja: 1.234,56 und 12,5 werden zu 1234.56 und
12.5. Ausnahme: Eine Zahl mit nur einem Punkt und ohne Komma, etwa 1.234,
wird als Dezimalzahl 1,234 gelesen. Mit Währungszeichen in der Zelle wird die Spalte zu Text.
Warum wird eine Spalte mit Zahlen als Text angelegt?
Weil mindestens ein Wert eine führende Null hat, ein Währungszeichen trägt oder kein lesbarer Zahlenwert ist. Nummern mit führender Null als Zahl zu speichern, würde sie still verändern.
Kann ich nur die INSERTs bekommen, ohne CREATE TABLE?
Ja — Häkchen bei CREATE TABLE mit ausgeben entfernen. Praktisch, wenn die Tabelle schon existiert.
Wird meine CSV hochgeladen?
Nein. Die Datei wird von JavaScript in diesem Tab gelesen, das SQL entsteht im Arbeitsspeicher. Die Vorschau zeigt die ersten 20.000 Zeichen, der Download enthält alles.
Passend dazu
Machen Sie das jeden Monat?
In TableDI 2 machen Sie es einmal und speichern es als Auftrag. Nächsten Monat legen Sie die neuen Dateien hinein und führen ihn erneut aus.
macOS, Apple Silicon und Intel; die Windows-Version ist in Arbeit (was Sie bis dahin tun können). Kostenlos heißt nicht Testversion — kein Konto, keine Karte.
Zuletzt geprüft am 2026-09-11 vom TableDI-Team. Stimmt auf dieser Seite etwas nicht? Schreiben Sie uns — ein Postfach, gelesen von den Leuten, die TableDI bauen.