| SQLite | |
|---|---|
| Basisdaten | |
| Hauptentwickler | D. Richard Hipp |
| Entwickler | Das SQLite-Team[1] |
| Erscheinungsjahr | 2000 |
| Aktuelle Version | 3.51.2[2] (9. Januar 2026) |
| Betriebssystem | Windows,macOS,GNU/Linux und andereunixoide Systeme |
| Programmiersprache | C[3] |
| Kategorie | SQL-Programmbibliothek |
| Lizenz | in die Gemeinfreiheit entlassen durch den Rechteinhaber[4] |
| deutschsprachig | nein |
| sqlite.org | |
| SQLite Database File Format | |
|---|---|
| Dateiendung: | .sqlite3, .sqlite, .db3, .db |
| MIME-Type: | application/vnd.sqlite3(veraltet: application/x-sqlite3)[5] |
| Magische Zahl: | 53514c69746520666f726d6174203300hex SQLite format 3\x00 |
| Erstveröffentlichung: | 18. Juni 2004 |
| Aktuelle Version | 3.51.2[2] (9. Januar 2026) |
| sqlite.org/fileformat2.html | |
SQLite ist einegemeinfreieProgrammbibliothek, die einrelationalesDatenbanksystem enthält. SQLite wird in Mobiltelefonen (Android, iOS, Symbian OS, Windows Phone), in Browsern (Firefox, Safari, Chrome), Skype und vielen anderen Anwendungen eingesetzt. Es ist das verbreitetste und meistverwendete Datenbanksystem der Welt. SQLite unterstützt einen Großteil der imSQL-92-Standard festgelegtenSQL-Sprachbefehle. Unter anderem implementiert SQLiteTransaktionen, Unterabfragen (Subselects),Sichten (Views),Trigger und benutzerdefinierte Funktionen.
Die SQLite-Bibliothek lässt sich direkt in entsprechende Anwendungen integrieren, sodass keine weitere Server-Software benötigt wird. Dies ist der entscheidende Unterschied zu anderen Datenbanksystemen. Durch das Einbinden der Bibliothek wird die Anwendung um Datenbankfunktionen erweitert, ohne auf externe Softwarepakete angewiesen zu sein.
Das System ist vor allem für den Einsatz ineingebetteten Datenbanksystemen entworfen, daher fehlen Funktionen wie die Möglichkeit, Objektberechtigungen zu verwalten (GRANT, REVOKE). Für viele Programmiersprachen existieren passendeDatenbankschnittstellen. Auch ein in derKonsole und inShell-Skripten verwendbares, einfachesFrontend ist vorhanden.
SQLite hat einige Besonderheiten gegenüber anderen Datenbanken: Die Bibliothek ist nur wenige hundert Kilobyte groß. Eine SQLite-Datenbank besteht aus einer einzigen Datei, die alle Tabellen, Indizes, Views, Trigger usw. enthält. Dies vereinfacht den Austausch zwischen verschiedenen Systemen, sogar zwischen Systemen mit unterschiedlichenByte-Reihenfolgen. Jede Spalte kann Daten beliebiger Typen enthalten, erst zur Laufzeit wird nötigenfalls konvertiert.
Die gesamte Datenbank befindet sich in einer einzigen Datei, kann aber auchnicht-persistent im Hauptspeicher angelegt werden.[6] EineClient-Server-Architektur ist nicht vorhanden.
Einige in anderen Datenbanksystemen vorhandene Funktionen fehlen: Schreiboperationen unterschiedlicher Prozesse in derselben Datenbankdatei können nur nacheinander ausgeführt werden.[7] Ab Version 3.2 gibt es den BefehlALTER TABLE, allerdings mit eingeschränktem Funktionsumfang. Es lassen sich derzeit lediglich Tabellen umbenennen und Spalten zu den Tabellen hinzufügen. Es gibt keine Verwaltung von Benutzer- und Zugriffsberechtigungen auf Datenbank-Ebene, stattdessen gelten für die Datenbank-Dateien die Zugriffsberechtigungen desDateisystems.
SQLite wurde von dem US-Amerikaner Richard Hipp in derProgrammiersprache C entwickelt und am 17. August 2000 als Ausgabe1.0 veröffentlicht.[8] Außerdem wird eine Bibliothek für die Benutzung unterTcl angeboten. Für andere Programmiersprachen wieC++ undJava gibt esWrapper externer Entwickler,Python undPHP enthalten SQLite sogar in der Standardausstattung.[9][10] Ebenso stehenODBC-,dbExpress undJDBC-Treiber zur Verfügung.[11][12] SQLite erzwingt keineTypsicherheit: Fehlerhafte Eingaben werden in der Regel akzeptiert und in Zeichenketten umgewandelt.
Eingesetzt wird SQLite unter anderem in Betriebssystemen für Mobiltelefone, wieSymbian OS oderAndroid.[13] Außerdem nutzt der BrowserMozilla Firefox ab Version 3 SQLite – beispielsweise fürLesezeichen undCookies – nachdem man schon in Version 2 SQLite für programminterne Datenbanken benutzt hatte. Für diesen Browser existieren zudem einigeFirefox-Erweiterungen, mit denen man die SQLite-Datenbanken der Anwendung, aber auch jede beliebige andere SQLite-Datenbank betrachten, bearbeiten und abfragen kann.[14]
AuchApples BrowserApple Safari verwendet intern SQLite, sowohl die Desktop- als auch dieiPhone-Variante wie auch das E-Mail-ProgrammApple Mail. Videos und Musikstücke des iPhones sind in einer SQLite-Datenbank gespeichert. Innerhalb vonmacOS wird SQLite auch zur Verwaltung von Cache-Daten, wie z. B. die der Software-Aktualisierung, eingesetzt. SQLite kommt auch inAdobe AIR undLightroom als Datenbankanwendung zum Einsatz.[15] Ab Version 1.5 von Adobe AIR können SQLite-Daten mittels der EncryptedLocalStore-Klasse auch verschlüsselt abgespeichert und gelesen werden.[16] Die VoIP/Messenger-SoftwareSkype ab Version 4 speichert Kontakte und alle anfallenden Nutzerdaten (Chatprotokolle usw.) in einer SQLite-Datenbank ab.Auch Google nutzt für seinen Browser Chrome SQLite, um unter anderem Benutzerdaten lokal zu sichern. Durch die Integration in Mozilla Firefox, in den verbreiteten Mobiltelefonen (Android, iOS, Symbian OS, Windows Phone) sowie mit jederPHP-Installation[17][18] (die für sich schon hohe Nutzerzahlen haben) ist SQLite das verbreitetste und meistverwendete Datenbanksystem der Welt.
Während die Softwaregemeinfrei ist, wurde am 12. Februar 2007 die Registrierung derMarke SQLite beimUnited States Patent and Trademark Office beantragt. Diesem Antrag wurde am 24. Juni 2008 stattgegeben.[19]
Mit demDB Browser for SQLite (sqlitebrowser) steht ein grafisches Frontend für BSD, macOS, Linux und Windows zur Verfügung, das unter derGNU GPL steht.[20] Das quelloffeneSQLiteStudio steht ebenfalls unter der GNU GPL.[21]