Temporäre Tabellen in SQLite
- Erstellen Sie eine temporäre Tabelle in SQLite
- Wählen Sie Aus einer temporären Tabelle in SQLite aus
- Löschen Sie eine temporäre Tabelle in SQLite
- Einfügen, Aktualisieren und Löschen von Datensätzen in einer temporären Tabelle in SQLite
Temporäre Tabellen können in SQLite unglaublich nützlich sein. Sie sind jedoch dafür bekannt, dass sie etwas schwierig zu bedienen sind.
In diesem Artikel wird die Erstellung und Verwendung von temporären Tabellen in SQLite ausführlich beschrieben.
Erstellen Sie eine temporäre Tabelle in SQLite
Das Erstellen einer temporären Tabelle in SQLite ist viel einfacher als Sie denken. Es ist dem Erstellen einer regulären Tabelle ziemlich ähnlich. Der Code zum Erstellen ist unten dargestellt.
Zuerst müssen Sie eine reguläre Tabelle erstellen, da eine temporäre Tabelle einen Verweis auf eine bereits erstellte Tabelle benötigt.
CREATE TABLE users
(
users_id INTEGER,
name TEXT,
age INTEGER
);
Danach können Sie eine temporäre Tabelle erstellen, die die obige Tabelle des Benutzers kopiert.
CREATE TEMPORARY TABLE table1
AS
(
SELECT * FROM users
);
Dadurch wird eine temporäre Tabelle erstellt, die mit der Tabelle des Benutzers identisch ist. Am besten fügen Sie einige Werte ein, bevor Sie eine temporäre Tabelle erstellen, damit Sie überprüfen können, ob es sich um eine Kopie der neuesten Tabelle handelt, und dies kann mit der Klausel INSERT INTO
erfolgen.
Sie können eine Tabelle immer mit einer komplexeren Abfrage erstellen. Sie müssen lediglich die Abfrage SELECT
nach der Klausel AS
durch eine Abfrage Ihrer Wahl ersetzen.
Sobald Sie fertig sind, wird Ihre temporäre Tabelle erstellt und ist einsatzbereit. Beachten Sie, dass TEMP auch die TEMPORARY-Klausel ersetzen kann und beide in SQLite akzeptiert werden.
Wählen Sie Aus einer temporären Tabelle in SQLite aus
Jetzt wissen wir, wie einfach es ist, einen zu erstellen. Sie fragen sich vielleicht, wie Sie daraus auswählen können. Es verwendet die übliche SELECT
-Klausel identisch, aber es ist am besten, einen etwas anderen Ansatz zu wählen als die Auswahl einer regulären oder permanenten Tabelle.
Fügen Sie am besten einen zusätzlichen Alias hinzu, indem Sie die Klausel AS
für temporäre Tabellen verwenden. Ein Beispiel, das dieselbe Benutzertabelle und die entsprechende oben definierte temporäre Tabelle verwendet, wird hier gezeigt:
SELECT 'table1'
AS from_table,* FROM table1
Dies hätte funktioniert, wenn Sie auch SELECT * FROM table1
verwendet hätten. Es ist jedoch am besten, diese Methode zu verwenden, damit Sie den Inhalt Ihrer temporären Tabelle von dem Ihrer permanenten Tabelle unterscheiden können.
Dies ist besonders hilfreich bei Tabellen mit mehreren Einträgen. Es ist wichtig zu beachten, dass Sie das Sternsymbol (*)
durch eine beliebige Abfrage Ihrer Wahl ersetzen können.
Verwenden Sie die With
-Klausel
Eine weitere, weniger gebräuchliche Auswahlmethode ist die WITH
-Klausel. Dies kann jedoch nur verwendet werden, wenn Sie eine Abfrage mit nur einer Select-Anweisung erstellen.
Wenn Sie komplexe Abfragen verwenden möchten, bleiben Sie am besten bei der zuvor erläuterten Methode. Sie können diese Methode mit dem folgenden Code ausprobieren.
WITH table1(users_id, name,age) AS
(
--add any one select statement
)
SELECT users_id, name,age FROM table1;
Andere Klauseln wie set operators
, grouping
oder ordering
sind oft auch für alle temporären Tabellen verfügbar. Sie werden auf die gleiche Weise wie in permanenten Tabellen verwendet, da sie korrekt ausgeführt werden, solange Ihre Abfrage richtig geschrieben ist.
Löschen Sie eine temporäre Tabelle in SQLite
In SQLite ähnelt das Löschen einer temporären Tabelle dem Löschen einer gewöhnlichen oder permanenten Tabelle in Ihrer Datenbank. Temporäre Tabellen werden oft automatisch gelöscht, nachdem der Benutzer eine bestimmte Sitzung beendet hat, aber Sie können sie jederzeit manuell löschen, wenn Sie möchten.
Denken Sie daran, dass Sie alle Daten, die Sie speichern möchten, in die permanente Tabelle replizieren sollten, bevor Sie sie löschen, um Datenverluste zu vermeiden. Die folgende Abfrage zeigt, wie eine temporäre Tabelle gelöscht wird.
DROP TABLE temp.table1
Der einzige Unterschied besteht darin, dass vor dem Namen der Tabelle eine zusätzliche Klausel hinzugefügt wird. Dies bedeutet, dass die zu löschende Tabelle eine temporäre Tabelle ist.
Beim Löschen einer temporären Tabelle ist es oft am besten, eine IF EXISTS
-Klausel hinzuzufügen. Dies liegt daran, dass die Tabelle möglicherweise automatisch gelöscht wurde, ohne dass Sie es wussten.
Dadurch werden Fehler vermieden, die in längeren Codes schwer zu identifizieren sind. Verwenden Sie den folgenden Code, um eine temporäre Tabelle zu löschen.
DROP TABLE If EXISTS temp.table1;
Einfügen, Aktualisieren und Löschen von Datensätzen in einer temporären Tabelle in SQLite
Das Einfügen, Aktualisieren und Löschen von Datensätzen in einer temporären Tabelle ist so ziemlich dasselbe wie in einer permanenten Tabelle. Es ist wichtig zu beachten, dass alle hinzugefügten und bearbeiteten Daten verloren gehen, nachdem der Benutzer die Sitzung beendet oder wenn sie abläuft.
Hier sind einige Beispiele, auf die Sie sich für alle drei oben genannten Fälle beziehen können, indem Sie dieselbe temporäre Tabelle verwenden, die zuvor erstellt wurde.
Datensätze in eine temporäre Tabelle einfügen
INSERT INTO users(users_id, name,age)
VALUES(1, 'abc', 30);
Dadurch werden die Werte erfolgreich in Ihre temporäre Tabelle eingefügt. Wenn Sie jedoch eindeutige Einschränkungen haben, möchten Sie möglicherweise die Klauseln IGNORE
oder REPLACE
hinzufügen, um Fehler bei der Ausführung zu vermeiden.
Datensätze in einer temporären Tabelle aktualisieren
UPDATE users
SET name='xyz' WHERE users_id=3;
Dadurch wird der Name des Benutzers in der temporären Tabelle mit der ID 3
geändert. Sie können den Inhalt nach der where-Klausel durch jede erforderliche Bedingung ersetzen.
Datensätze in einer temporären Tabelle löschen
DELETE * FROM users
Diese Abfrage löscht alle Inhalte in der temporären Tabelle. Wenn Sie nur eine bestimmte Zeile löschen möchten, müssen Sie eine WHERE
-Klausel wie die untenstehende einfügen.
DELETE * FROM users
WHERE users_id=1
Das ist alles, was Sie wissen müssen, um mit temporären Tabellen zu arbeiten. Wir hoffen, dass dieser Artikel Ihnen geholfen hat, loszulegen und zu verstehen, wie Sie sie richtig verwenden.
Hello, I am Bilal, a research enthusiast who tends to break and make code from scratch. I dwell deep into the latest issues faced by the developer community and provide answers and different solutions. Apart from that, I am just another normal developer with a laptop, a mug of coffee, some biscuits and a thick spectacle!
GitHub