Direkt zum Tool
ViewCSV
Kein Datei-Upload

CSV in eine SQLite-Datenbank umwandeln

orders.csv· BEISPIELDATEN15 Zeilen · 8 Spalten
Werttypen
Als Text bleibt jeder Wert exakt erhalten. Mit Erkennung werden INTEGER und REAL verwendet, wo jeder Wert passt.
orders.csv
#order_idcustomercityproductquantityunit_priceorder_datestatus
1001041Laura KochLeipzigMonitor 27"4180.602026-01-15shipped
2001042Mia MüllerKölnCoffee beans 1kg3156.812026-02-26refunded
3001043Anna FischerLeipzigNotebook A51229.892026-03-17refunded
4001044Jonas WagnerBerlinNotebook A5980.032026-04-23paid
5001045Anna KochDresdenMonitor 27"5·2026-05-24pending
6001046Felix BeckerFrankfurt am MainCoffee beans 1kg593.262026-06-08refunded
7001047 Lena Koch MünchenCoffee beans 1kg3102.062026-07-26pending
8001048Sophie SchmidtFrankfurt am MainDesk lamp1215.252026-08-03paid
9001049Leon MüllerFrankfurt am MainUSB-C cable689.202026-09-03paid
10001050Leon MeyerBerlinNotebook A51101.112026-01-10refunded
11001051Leon BauerFrankfurt am MainNotebook A59142.332026-02-01refunded
12001052Felix SchäferHamburgMonitor 27"4161.362026-03-24shipped
13001053Max WagnerHamburgMonitor 27"1184.332026-04-13paid
14001054Jonas MüllerHamburgDesk lamp8205.982026-05-06pending
15001043Anna FischerLeipzigNotebook A51229.892026-03-17refunded

15 Zeilen · 1 Datei Nutzt die SQLite-Engine (WebAssembly), die einmalig von assets.viewcsv.app geladen wird. Ihre Daten bleiben in diesem Tab.

Öffnen Sie eine CSV-Datei oder fügen Sie sie ein, prüfen Sie das Feld Tabellenname, und wählen Sie „SQLite herunterladen“. Sie erhalten eine .sqlite-Datenbankdatei mit einer Tabelle, die jede Zeile enthält – bereit für die sqlite3-Shell, DB Browser for SQLite, Python oder jede SQLite-Bibliothek. Standardmäßig ist jede Spalte TEXT, sodass 000417 als 000417 erhalten bleibt. Die SQLite-Engine läuft als WebAssembly in Ihrem Browser; die CSV-Datei wird nie hochgeladen.

So wandeln Sie CSV in SQLite um

  1. Öffnen Sie eine .csv-, .tsv- oder .txt-Datei, ziehen Sie sie auf das Werkzeug, oder fügen Sie Zeilen ein. Prüfen Sie die Tabelle unter Eingabe; Trennzeichen, Kopfzeile oder Codierung stellen Sie bei Bedarf unter Importeinstellungen ein.
  2. Prüfen Sie das Feld Tabellenname. Der Name beginnt als Dateiname, wobei Leerzeichen und Satzzeichen zu Unterstrichen werden – aus orders 2026.csv wird orders_2026.
  3. Wählen Sie die Werttypen, optional einen Primärschlüssel und ob Sie Leere Zellen als NULL schreiben möchten.
  4. Wählen Sie „SQLite herunterladen“, und öffnen Sie die Datei dann, zum Beispiel mit sqlite3 orders.sqlite und SELECT * FROM orders LIMIT 10;.

Bei der ersten Umwandlung wird die SQLite-Engine (sql.js, kompiliert zu WebAssembly) einmalig von assets.viewcsv.app geladen. Schlägt dieser Download fehl, zeigt das Werkzeug einen Fehler, und Sie können es erneut versuchen; Ihre Datei bleibt auf diesem Gerät.

Um viele Dateien mit denselben Einstellungen umzuwandeln, wählen Sie Stapelverarbeitung: mehrere Dateien umwandeln. Jede Datei wird zu einer eigenen Datenbank mit einer nach der Datei benannten Tabelle, und alle werden zusammen als eine ZIP-Datei heruntergeladen. Im Stapel darf jede Datei höchstens 25 MB groß sein.

Was die Datenbank enthält

Eine Tabelle, angelegt mit CREATE TABLE "name" (…), mit einer Spalte pro CSV-Spalte in der ursprünglichen Reihenfolge; alle Zeilen werden in einer einzigen Transaktion eingefügt. Es gibt keine zusätzlichen Indizes, Views oder ID-Spalten.

Tabellen- und SpaltennamenWerden genau wie geschrieben verwendet und in doppelte Anführungszeichen gesetzt, sodass Leerzeichen, Satzzeichen, reservierte Wörter und nicht lateinische Namen funktionieren: Fragen Sie sie als "order date" ab. Eine leere Spaltenüberschrift wird zu Column 3, eine doppelte zu name (2).
Alle Werte als Text behaltenDie Standardeinstellung. Jede Spalte wird als TEXT deklariert und speichert jeden Wert genau wie geschrieben.
Zahlen und true/false erkennenEine Spalte, deren nicht leere Werte alle ganze Zahlen ohne führende Nullen sind, wird INTEGER; Dezimalzahlen mit höchstens 15 signifikanten Stellen werden REAL; Spalten mit true/false werden INTEGER mit 1 und 0, weil SQLite keinen booleschen Typ hat. Datumswerte und alles andere bleiben TEXT.
PrimärschlüsselOptional. Die gewählte Spalte wird als PRIMARY KEY deklariert. Ihre Werte müssen eindeutig und nicht leer sein, sonst bricht das Werkzeug ab, bevor es die Datei schreibt. Ein erkannter Ganzzahl-Schlüssel wird zu INTEGER PRIMARY KEY, dem Rowid-Alias von SQLite.
Leere Zellen als NULL schreibenStandardmäßig an. Ausschalten, um leere Zellen als leere Zeichenkette '' zu speichern.

Zeilenumbrüche, Anführungszeichen und Kommas in CSV-Werten mit Anführungszeichen werden unverändert im Wert gespeichert.

Häufige Probleme bei der Umwandlung von CSV in SQLite

  • Die Umwandlung bricht beim Primärschlüssel ab. Die gewählte Spalte enthält einen leeren oder doppelten Wert. Finden Sie Duplikate mit CSV prüfen oder im CSV-Viewer, wählen Sie eine andere Spalte, oder stellen Sie Primärschlüssel auf „Keiner“.
  • Die Engine konnte nicht geladen werden. Die SQLite-WebAssembly-Datei stammt von assets.viewcsv.app. Prüfen Sie Ihre Verbindung, Firewall oder Ihren Inhaltsblocker und versuchen Sie es erneut.
  • `SUM()` behandelt eine Spalte als Text. Die Spalte ist TEXT. Wandeln Sie erneut mit Zahlen und true/false erkennen um. Bleibt sie trotzdem Text, ist ein Wert keine einfache Zahl (1,234, 12 kg, 007) – auch Beträge mit Dezimalkomma gehören dazu. Oder wandeln Sie sie in SQL um: CAST(total AS REAL).
  • Die Datei ist zu groß für dieses Werkzeug. Die SQLite-Umwandlung funktioniert mit Dateien bis 25 MB, 100.000 Zeilen, 250 Spalten und 2 Millionen Zellen. Für eine größere Datei erzeugen Sie mit CSV in SQL, das große Dateien als Datenstrom verarbeitet, ein Skript und führen es mit sqlite3 aus.

Grenzen und Datenschutz

Die CSV-Datei muss sich im Browser-Arbeitsbereich öffnen lassen: bis 25 MB, 100.000 Zeilen, 250 Spalten und 2 Millionen Zellen. Die Datenbank wird im Arbeitsspeicher aufgebaut und als eine Datei exportiert.

Die Engine läuft in einem Hintergrund-Worker in diesem Tab; die Seite bleibt bedienbar, und Abbrechen beendet den Vorgang. Heruntergeladen wird nur die Engine-Datei; CSV-Datei und Datenbank verlassen Ihr Gerät nie.

Beispiel: eine Bestelldatei, in der sqlite3-Shell geöffnet

Eine Bestelldatei mit IDs mit führenden Nullen, einem leeren Datum und einer zweizeiligen Notiz, umgewandelt mit Zahlen und true/false erkennen, dem Tabellennamen orders und order_id als Primärschlüssel, danach in der sqlite3-Shell geöffnet. total wurde REAL und paid INTEGER mit 1/0, während order_id und shipped_on TEXT blieben. Mit der Standardeinstellung Alle Werte als Text behalten sind alle sechs Spalten TEXT, und total behält 129.50.

CSV
order_id,customer,total,paid,shipped_on,note
000417,"Okafor, Ada",129.50,true,2026-04-02,
000418,Mei Tan,15,false,,"Leave at door
side gate"
SQLite (sqlite3-Shell)
sqlite> .schema
CREATE TABLE "orders" ("order_id" TEXT PRIMARY KEY, "customer" TEXT, "total" REAL, "paid" INTEGER, "shipped_on" TEXT, "note" TEXT);

sqlite> SELECT order_id, total, typeof(total), paid, shipped_on, quote(note) FROM orders;
000417|129.5|real|1|2026-04-02|NULL
000418|15.0|real|0||'Leave at door
side gate'

Fragen und Antworten

Was ist der Unterschied zu CSV in SQL?

Diese Seite liefert eine fertige SQLite-Datenbankdatei, die Sie direkt öffnen. CSV in SQL schreibt ein Textskript aus CREATE-TABLE- und INSERT-Anweisungen, das Sie selbst ausführen – für SQLite oder für PostgreSQL, MySQL oder SQL Server –, und kann Dateien über 25 MB als Datenstrom verarbeiten.

Kann ich die CSV-Datei zu einer bestehenden Datenbank hinzufügen?

Nicht direkt; jede Umwandlung erzeugt eine neue Datenbank mit einer Tabelle. Hängen Sie sie in Ihrer bestehenden Datenbank mit ATTACH 'orders.sqlite' AS src; an und kopieren Sie die Zeilen mit INSERT INTO … SELECT * FROM src.orders;.

Warum werden true und false als 1 und 0 gespeichert?

SQLite hat keine boolesche Speicherklasse; Wahrheitswerte sind Ganzzahlen. Mit Zahlen und true/false erkennen wird true zu 1 und false zu 0. Im Textmodus bleiben es die Zeichenketten true und false.

Standards und Quellen