CSV in SQLite umwandeln
Leg deine CSV-Datei ab und erhalte ein SQLite-Skript mit CREATE TABLE- und INSERT-Anweisungen. Jede Spalte bekommt einen Typ, und jede Korrektur wird mit Zeile und Spalte aufgeführt.
5 Zeilen konvertiert, 8 Korrekturen, keine abgelehnt
| Zeile | ||||||
|---|---|---|---|---|---|---|
| 5 | 00412 | Peña Muñoz | Mérida | 15/02/2024 | 1.234,50 | sí |
| 6 | 00413 | José Ángel Ruiz | León | 03/02/2024 | 99,90 | no |
| 7 | 00414 | Zoë Ortíz | Querétaro | 29/02/2024 | N/A | sí |
| 8 | 00415 | Ñuño Castañeda | Oaxaca | 28/02/2024 | 7,25 | no |
| 9 | 00416 | Iñaki Olaizola | Mazatlán | 11/03/2024 | 980,75 | sí |
-- Written by IntoSQL for SQLite.
BEGIN;
CREATE TABLE ventas_2024 (
folio TEXT NOT NULL,
cliente TEXT NOT NULL,
ciudad TEXT NOT NULL,
fecha DATE NOT NULL,
importe NUMERIC(6,2),
pagado BOOLEAN NOT NULL
);
INSERT INTO ventas_2024 (folio, cliente, ciudad, fecha, importe, pagado) VALUES
('00412', 'Peña Muñoz', 'Mérida', '2024-02-15', 1234.50, 1),
('00413', 'José Ángel Ruiz', 'León', '2024-02-03', 99.90, 0),
('00414', 'Zoë Ortíz', 'Querétaro', '2024-02-29', NULL, 1),
('00415', 'Ñuño Castañeda', 'Oaxaca', '2024-02-28', 7.25, 0),
('00416', 'Iñaki Olaizola', 'Mazatlán', '2024-03-11', 980.75, 1);
COMMIT;
Korrekturen
- Die Datei war in windows‑1252 kodiert; sie wurde in UTF-8 umgewandelt.
- Die Kopfzeile ist in Zeile 4; die Zeilen darüber wurden ausgelassen.
- Zeile 10 ("TOTAL") ist eine Summe und wurde deshalb ausgelassen.
- Führende Nullen in "Folio" behalten: 00412 bleibt 00412, gespeichert als Text.
- 15/02/2024 belegt, dass die Datumsangaben in "Fecha" mit dem Tag beginnen, also wird 03/02/2024 als 2024‑02‑03 gelesen.
- Zahlen in "Importe" nutzen ein Dezimalkomma: 1.234,50 wird als 1234.50 gelesen.
- N/A in "Importe" als leer gelesen (1 von 5 Werten).
- "Pagado" enthält Ja- und Nein-Wörter (sí, no), gespeichert als Boolean.
Deine Datei wird auf diesem Computer umgewandelt und nie hochgeladen.
Weitere Beispiele:
Von CSV zu SQLite, Spalte für Spalte
Das Beispiel oben, ventas_2024.csv, so wie IntoSQL es für SQLite schreibt: was jede Spalte in der Datei enthält, welchen Typ sie bekommt und wie ihr erster Wert im Skript landet.
| In der Datei | Erster Wert | Spalte | Typ in SQLite | Im Skript |
|---|---|---|---|---|
| Folio | 00412 | folio | TEXT | '00412' |
| Cliente | Peña Muñoz | cliente | TEXT | 'Peña Muñoz' |
| Ciudad | Mérida | ciudad | TEXT | 'Mérida' |
| Fecha | 15/02/2024 | fecha | DATE | '2024-02-15' |
| Importe | 1.234,50 | importe | NUMERIC(6,2) | 1234.50 |
| Pagado | sí | pagado | BOOLEAN | 1 |
Das Skript in SQLite laden
Der Download ist eine einfache .sql-Datei. Führe sie mit den Werkzeugen von SQLite aus.
Aus einem Terminal
sqlite3 ventas_2024.db < ventas_2024.sqlite.sqlDie Datenbankdatei wird angelegt, falls sie nicht existiert. Der Konverter lädt auch eine fertige .sqlite-Datenbank herunter, ganz ohne Befehl.
Aus einem Datenbank-Tool
Wähle in DB Browser for SQLite Execute SQL, öffne das Skript und führe es aus.
Ohne Skript
Die Kommandozeile lädt die Datei direkt in eine SQLite-Datenbank, ohne ein Skript zu schreiben. Das ist kostenlos.
intosql load ventas_2024.csv --into ventas_2024.dbWas du über CSV-Dateien und SQLite wissen solltest
Was IntoSQL in CSV-Dateien liest
- Die Kodierung wird erkannt, auch Windows-1252 und UTF-16, sodass Akzente und ñ unverändert ankommen.
- Das Trennzeichen wird erkannt: Komma, Semikolon, Tabulator oder senkrechter Strich. Bei Semikolon werden Dezimalkommas wie 1.234,50 als Zahlen gelesen.
- Werte in Anführungszeichen können Trennzeichen und Zeilenumbrüche enthalten.
Was du über SQLite wissen solltest
- Jede Spalte bekommt den Typ, den ihre Werte brauchen, etwa INTEGER, NUMERIC, TEXT, DATE oder BOOLEAN; ja und nein werden als 1 und 0 gespeichert.
- Dezimalzahlen mit mehr als 15 Stellen bleiben TEXT, damit keine Ziffer durch Runden verloren geht.
- Lade das SQLite-Skript herunter oder eine fertige .sqlite-Datenbank, die in deinem Browser erstellt wird.
Wie jede Art von Wert in SQLite gespeichert wird
| Wert | SQLite |
|---|---|
| Ja und nein | BOOLEAN |
| Ganze Zahlen | INTEGER |
| Große ganze Zahlen | INTEGER |
| Dezimalzahlen | NUMERIC(p,s)TEXT |
| Gleitkommazahlen | REAL |
| Datumswerte | DATE |
| Uhrzeiten | TIME |
| Datum mit Uhrzeit | DATETIME |
| Datum mit Uhrzeit und Zeitversatz | DATETIME |
| Text | TEXT |
Fragen zu CSV zu SQLite
Keine Antwort gefunden? Schreib uns über die Kontaktseite, und ein Mensch antwortet. Kontaktseite
Wie konvertiere ich CSV zu SQLite?
Leg deine Datei auf den Konverter oben auf dieser Seite. Er findet die Kopfzeile, liest jeden Wert und schreibt das SQLite-Skript, mit jeder Korrektur aufgelistet. Lade das Skript herunter und führe es mit sqlite3 aus.
Was, wenn meine CSV Semikolons oder Tabs verwendet?
Das Trennzeichen wird erkannt: Komma, Semikolon, Tab oder senkrechter Strich. Du kannst es auch unter Weitere Optionen festlegen. Mit Semikolon werden Dezimalkommas wie 1.234,50 als Zahlen gelesen.
Welche SQLite-Typen werden verwendet?
Ja/Nein-Werte werden BOOLEAN, ganze Zahlen INTEGER, Dezimalzahlen NUMERIC(p,s), Datumsangaben DATE, Datumsangaben mit Uhrzeit DATETIME und Text TEXT. Die Größen richten sich nach dem längsten Wert jeder Spalte.
Bleiben führende Nullen in SQLite erhalten?
Ja. Ein Code wie 00412 bleibt Text, also speichert SQLite ihn als TEXT, und das Skript schreibt ihn als '00412'.
Kann es die Daten ohne Skript in SQLite laden?
Ja, kostenlos: intosql load legt die SQLite-Datenbankdatei an und lädt die Zeilen hinein. Der Konverter auf dieser Seite lädt auch eine fertige .sqlite-Datenbank herunter.
Wie groß darf die CSV-Datei sein?
Der Browser liest eine CSV beim Einströmen, daher funktionieren Dateien von mehreren Gigabyte. Auf einem Apple-M4-Laptop konvertiert die Kommandozeile eine 174-MB-CSV mit einer Million Zeilen in unter einer Sekunde.