SQLite - Übersicht
In diesem Kapitel erfahren Sie, was SQLite ist, wie es sich von SQL unterscheidet, warum es benötigt wird und wie es mit der Anwendungsdatenbank umgeht.
SQLite ist eine Softwarebibliothek, die ein in sich geschlossenes, serverloses SQL-Datenbankmodul ohne Konfiguration und Transaktionsdatenbank implementiert. SQLite ist eine der am schnellsten wachsenden Datenbank-Engines, aber das ist ein Anstieg der Popularität, der nichts mit seiner Größe zu tun hat. Der Quellcode für SQLite ist gemeinfrei.
Was ist SQLite?
SQLite ist eine In-Process-Bibliothek, die ein in sich geschlossenes, serverloses, transaktionsfreies SQL-Datenbankmodul ohne Konfiguration implementiert. Es handelt sich um eine Datenbank, die auf Null konfiguriert ist. Dies bedeutet, dass Sie sie wie andere Datenbanken nicht in Ihrem System konfigurieren müssen.
Die SQLite-Engine ist kein eigenständiger Prozess wie andere Datenbanken. Sie können sie je nach Anforderung statisch oder dynamisch mit Ihrer Anwendung verknüpfen. SQLite greift direkt auf seine Speicherdateien zu.
Warum SQLite?
Für den Betrieb von SQLite ist kein separater Serverprozess oder -system erforderlich (ohne Server).
SQLite wird mit einer Nullkonfiguration geliefert, was bedeutet, dass keine Einrichtung oder Verwaltung erforderlich ist.
Eine vollständige SQLite-Datenbank wird in einer einzelnen plattformübergreifenden Festplattendatei gespeichert.
SQLite ist sehr klein und leicht, weniger als 400 KB vollständig konfiguriert oder weniger als 250 KB, wobei optionale Funktionen weggelassen wurden.
SQLite ist in sich geschlossen, dh es gibt keine externen Abhängigkeiten.
SQLite-Transaktionen sind vollständig ACID-kompatibel und ermöglichen den sicheren Zugriff von mehreren Prozessen oder Threads.
SQLite unterstützt die meisten Funktionen der Abfragesprache im SQL92 (SQL2) -Standard.
SQLite ist in ANSI-C geschrieben und bietet eine einfache und benutzerfreundliche API.
SQLite ist unter UNIX (Linux, Mac OS-X, Android, iOS) und Windows (Win32, WinCE, WinRT) verfügbar.
SQLite Eine kurze Geschichte
2000 - D. Richard Hipp hat SQLite so konzipiert, dass für den Betrieb eines Programms keine Administration erforderlich ist.
2000 - Im August wurde SQLite 1.0 mit GNU Database Manager veröffentlicht.
2011 - Hipp kündigte an, der SQLite-Datenbank eine UNQl-Schnittstelle hinzuzufügen und UNQLite (Document Oriented Database) zu entwickeln.
SQLite-Einschränkungen
Es gibt einige nicht unterstützte Funktionen von SQL92 in SQLite, die in der folgenden Tabelle aufgeführt sind.
Sr.Nr. | Funktion & Beschreibung |
---|---|
1 | RIGHT OUTER JOIN Es ist nur LEFT OUTER JOIN implementiert. |
2 | FULL OUTER JOIN Es ist nur LEFT OUTER JOIN implementiert. |
3 | ALTER TABLE Die Varianten RENAME TABLE und ADD COLUMN des Befehls ALTER TABLE werden unterstützt. DROP COLUMN, ALTER COLUMN und ADD CONSTRAINT werden nicht unterstützt. |
4 | Trigger support Für jede Zeile werden Trigger unterstützt, jedoch nicht für jede Anweisung. |
5 | VIEWs VIEWs in SQLite sind schreibgeschützt. Sie dürfen keine DELETE-, INSERT- oder UPDATE-Anweisung für eine Ansicht ausführen. |
6 | GRANT and REVOKE Die einzigen Zugriffsberechtigungen, die angewendet werden können, sind die normalen Dateizugriffsberechtigungen des zugrunde liegenden Betriebssystems. |
SQLite-Befehle
Die Standard-SQLite-Befehle für die Interaktion mit relationalen Datenbanken ähneln SQL. Sie sind CREATE, SELECT, INSERT, UPDATE, DELETE und DROP. Diese Befehle können aufgrund ihrer Funktionsweise in Gruppen eingeteilt werden.
DDL - Data Definition Language
Sr.Nr. | Befehl & Beschreibung |
---|---|
1 | CREATE Erstellt eine neue Tabelle, eine Ansicht einer Tabelle oder ein anderes Objekt in der Datenbank. |
2 | ALTER Ändert ein vorhandenes Datenbankobjekt, z. B. eine Tabelle. |
3 | DROP Löscht eine gesamte Tabelle, eine Ansicht einer Tabelle oder ein anderes Objekt in der Datenbank. |
DML - Data Manipulation Language
Sr.Nr. | Befehl & Beschreibung |
---|---|
1 | INSERT Erstellt einen Datensatz |
2 | UPDATE Ändert Datensätze |
3 | DELETE Löscht Datensätze |
DQL - Data Query Language
Sr.Nr. | Befehl & Beschreibung |
---|---|
1 | SELECT Ruft bestimmte Datensätze aus einer oder mehreren Tabellen ab |