Samstag, 29. Juni 2013

SQLite - Import CSV File - existing or new table

Für mobile Webanwendungen oder Android Applikationen werden in der Regel SQLite Datenbanken verwendet. SQLite unterstützt dabei einen Großteil der im SQL-92-Standard festgelegten SQL-Sprachbefehle.

Weitere Informationen zu SQLite und Downloadmöglichkeit findet Sie hier:
http://www.sqlite.org/download.html

Öffnen der Datenbank mit Hilfe der SQLite command-line shell
attach "my.db" as db1;

Mit dem Kommando ".databases", sollte die soeben hinzugefügte Datei jetzt gelistet werden.








In eine vorhandene Tabelle sollen Daten aus eine CSV Datei importiert werden

Die vorhanden Datenbank hat folgende Struktur:
sqlite> select * from schueler;
1;Max;Mustermann;210;2011
2;Paul;Mustermann;211;2011

Folgende Daten befinden sich in der CSV Datei:
sqlite> select * from schueler;
3;Max;Mustermann;110;2012
4;Paul;Mustermann;111;2012

Da die Datenstruktur übereinstimmt, können die Daten mit dem folgenden Befehl direkt importiert werden:
sqlite> select * from schueler;
sqlite> .separator ';'
sqlite> .import schueler.csv schueler

Hinweis: Sollte es Probleme mit Umlauten geben, muss die CSV Datei im UTF8 Format gespeichert werden. Dies geht zum Beispiel mit Notepad++ - Kodierung - Konvertiere zu UTF8.

In eine leere bzw. neue Datenbank CSV Dateien importieren und dabei die Tabellen anlegen

Dies geht zum Beispiel mit dem Programm SQLite Database Browser (http://sourceforge.net/projects/sqlitebrowser/).




Aufbau der CSV Datei:
_id;jahr;vorname;nachname;zeit
20115248;2011;Erik;Test-Muster;00:04:10
20115152;2011;Jan;Test-Muster;00:04:17
20115153;2011;Tim;Test-Muster;00:04:21

Damit die Daten inkl. der Spaltenstruktur importiert werden können, muss das richtige Trennzeichen (separator) und "Extract field names from first line" ausgewählt werden.






Nach dem erfolgreichen Import der Daten sollte unter dem Menüpunkt "Modify Table" noch die richtigen Datentypen für die einzelnen Spalten angepasst werden!

Weiterführende Literatur zu SQLite: 
The Definitive Guide to SQLite (The Expert's Voice in Open Source)

Keine Kommentare:

Kommentar posten