SQLite 3.14 erstellt virtuelle Tabellen aus CSV-Dateien

Das "Pi-Release" der Datenbankbibliothek bietet außerdem die Möglichkeit, virtuelle Tabellen ohne ROWID zu nutzen und hält Erweiterungen bei Bedarf im Speicher.

In Pocket speichern vorlesen Druckansicht
SQLite 3.14 erstellt virtuelle Tabellen aus CSV-Dateien
Lesezeit: 2 Min.
Von
  • Rainald Menge-Sonnentag

SQLite ist eine relationale Datenbank, die als Softwarebibliothek umgesetzt ist. Sie ist schlank ausgelegt und verzichtet auf einen eigenen Serverprozess. Stattdessen greift sie direkt lesend und schreibend auf die Dateien zu. Das Konzept der virtuellen Tabellen ermöglicht den Zugriff auf unterschiedliche Datenquellen, die SQLite wie normale Tabellen behandelt.

Mit der Version 3.14 kann SQLite nun CSV-Dateien (Comma-separated values) als virtuelle Tabellen verwalten. Allerdings ist die Funktion, die vor allem zum Laden und Importieren großer Mengen von CSV-Inhalte oder als Vorlage für andere virtuelle Tabellen vorgesehen ist, nicht Bestandteil der Standardvariante in Form der SQLite Amalgamation, sondern als separate Sourcedatei verfügbar.

Eine weitere Neuerung ist die Möglichkeit, nicht nur normale, sondern auch virtuelle Tabellen ohne ROWID zu nutzen. Damit soll den Datenquellen Rechnung getragen werden, bei denen eine automatische Erstellung der IDs für Zeilen nicht ohne weiteres möglich ist. Entwickler müssen dabei selbst darauf achten, dass mindestens eine Spalte der virtuellen Tabelle als PRIMARY KEY definiert ist und die Vorausseztung dafür erfüllt, also einzigartig (UNIQUE) und nicht NULL ist. SQLite setzt das zwar voraus, überprüft es jedoch nicht.

Zu den weiteren Neuerungen gehört die Option, Erweiterungen auch dann im Speicher zu behalten, wenn die Datenbankverbindung geschlossen wird, die sie genutzt hat. Die ebenfalls neue json_quote-Funktion übersetzt Zahlen oder String-Werte in die passende JSON-Repräsentation.

Die komplette Liste der Neuerungen steht in den Release Notes zum "Π-Release". SQLite ist gemeinfrei. Sowohl der Sourcecode als auch vorkompilierte Binaries für Linux, Windows inklusive der UWP (Universal Windows Platform), OS X und Android stehen auf der Download-Seite zum Herunterladen bereit. (rme)