SQLite, noch einmal ...

Da ich das Werkzeug mal wieder im Büro gebraucht habe und fast zeitgleich eine Anfrage im ubuntuusers.de-Forum aufkam, hier also ein bisschen Text dazu:
SQLite ist eine Datenbank in einer Datei, das heisst, es muss kein Server-Dienst laufen. Das Client-Programm ist auch gleichzeitig das Datenbankverwaltungstool.
SQLite ist in allen aktuellen Mobiltelefonen (als Telefonbuch / Adressverwaltung) zu finden und wird aktiv von (beispielsweise) Adobe, Bloomberg, Mozilla und Symbian gefördert.
SQLite gibt es als Sourcecode und vorcompiliert für Linux, Mac OS X, und Windows, sowie auch als JDBC-Treiber oder Perl-Modul.
Natürlich kann SQLite nicht alles was ein Client-Server-Datenbanksystem kann, aber für 95% der Anwendungsfälle einer Privatperson reicht es aus.
Ein sehr grosser Anteil von SQL-Kommandos wird unterstützt.
Es gibt nur vier Speicherklassen Integer, Real, Text, Blob. "create table"-Statement anderer Datenbanksysteme wird in der Regel problemlos interpretiert (nur, dass im Hintergrund beispielsweise statt VARCHAR TEXT benutzt wird).
Die Aufgabe:
Zwei Dateien: Eine enthält Adressdaten in Folgender Form (telneu.txt, 1.8 GB, ~60 Millionen Zeilen): Vorname Nachname;Strasse;Ort;PLZ;Telnr; (Je Zeile ein Datensatz), die Zweite Datei enthält nur Postleitzahlen (plz.txt, ~1000 Zeilen).
Aus der ersten Datei werden alle Datensätze gesucht, deren Postleitzahlen in der zweiten Datei vorkommen.
sqlite> CREATE TABLE telneu (Vorname_Nachname text, Strasse text, Ort text, PLZ text, Telnr text);
sqlite> .separator ";"
sqlite> .import telneu.txt telneu
sqlite> CREATE INDEX idx_telneu_plz ON telneu (PLZ);
sqlite> CREATE TABLE plz (plz text);
sqlite> .import plz.txt plz
sqlite> SELECT * FROM telneu WHERE plz IN (SELECT plz FROM plz);
sqlite> .separator ";"
sqlite> .import telneu.txt telneu
sqlite> CREATE INDEX idx_telneu_plz ON telneu (PLZ);
sqlite> CREATE TABLE plz (plz text);
sqlite> .import plz.txt plz
sqlite> SELECT * FROM telneu WHERE plz IN (SELECT plz FROM plz);
Vielleicht hilft es Euch auch.
Hier ein paar Links:
- Downloads - Paket "sqlite3" in Ubuntu
- Dokumentation
- Datentypen
- SQL-Syntax
- JDBC-Treiber
- Perl-Modul - Paket "libdbd-sqlite" in Ubuntu
- Firefox Extension SQLite Manager
Kommentare
Ansicht der Kommentare: Linear | Verschachtelt