In SQL - einer strukturierten Programmiersprache für die Arbeit mit Datenbanken - sind temporäre Tabellen ein sehr nützliches Werkzeug. Sie ermöglichen es uns, temporäre Datensätze zu erstellen und zu verwenden, die innerhalb einer Sitzung oder Abfrage verwendet werden können. Die temporäre Tabelle wird nur erstellt und verwendet, während die Abfrage oder Sitzung ausgeführt wird, und wird dann automatisch gelöscht.
Das Erstellen einer temporären Tabelle in SQL ist eine einfache Aufgabe. Dazu verwenden wir das Schlüsselwort CREATE TEMPORARY TABLE gefolgt von dem Namen der temporären Tabelle und ihrer Struktur in Form einer Liste von Spalten und Datentypen. Wenn wir der Tabelle einige Daten hinzufügen müssen, können wir den Operator verwenden INSERT und, falls erforderlich, Operatoren UPDATE und DELETE.
Temporäre Tabellen sind besonders nützlich in Situationen, in denen wir komplexe Berechnungen oder Manipulationen von Daten innerhalb einer Sitzung oder Abfrage durchführen müssen. Sie helfen uns, die Leistung zu verbessern, die Codierung zu vereinfachen und die Daten zu verarbeiten, ohne persistente Tabellen zu verstopfen. Mit temporären Tabellen können wir komplexere Aufgaben in einfachere aufteilen, was den Code lesbarer und leichter macht.
Definieren einer temporären Tabelle
Die Definition einer temporären Tabelle erfolgt mit dem Schlüsselwort CREATE TEMPORARY TABLE , gefolgt von dem Namen der temporären Tabelle und einer Liste von Spalten sowie deren Datentypen. Zum Beispiel:
CREATE TEMPORARY TABLE my_temp_table (id INT,name VARCHAR(50));
Nachdem Sie eine temporäre Tabelle definiert haben, kann sie zum Hinzufügen, Aktualisieren, Löschen oder Abrufen von Daten wie eine normale Tabelle verwendet werden. Zum Beispiel:
INSERT INTO my_temp_table (id, name)VALUES (1, 'John');SELECT * FROM my_temp_table;
Nachdem Sie den obigen Code ausgeführt haben, wird die temporäre Tabelle my_temp_table erstellt und ein Eintrag wird hinzugefügt. Anschließend werden alle Datensätze aus der temporären Tabelle abgefragt und das Ergebnis wird angezeigt. Wenn die Sitzung beendet ist, wird die temporäre Tabelle automatisch gelöscht.
Vorteile der Verwendung temporärer Tabellen
Die Verwendung temporärer Tabellen in SQL kann folgende Vorteile bieten:
- Verbesserung der Abfrageleistung: Mit temporären Tabellen können Sie die Ergebnisse von Zwischenberechnungen speichern, was die Ausführungszeit komplexer Abfragen erheblich verkürzen kann.
- Komfort und Flexibilität: Temporäre Tabellen können verwendet werden, um Daten vorübergehend zu speichern oder Zwischenberechnungen durchzuführen, ohne dass permanente Tabellen erstellt werden müssen.
- Minimieren der Ressourcennutzung: Temporäre Tabellen werden im Arbeitsspeicher oder im temporären Datenbankspeicher erstellt, um die Auslastung von Speicherplatz und Serverressourcen zu optimieren.
- Transaktionssteuerung: Temporäre Tabellen können zum Verwalten von Transaktionen verwendet werden, sodass Änderungen nur für bestimmte Daten gespeichert und zurückgesetzt werden können.
- Sichtbarer Bereich: Temporäre Tabellen werden nur innerhalb der aktuellen Sitzung oder Verbindung erstellt und angezeigt, um Namenskonflikte zu vermeiden, wenn Abfragen parallel ausgeführt werden.
Erstellen einer temporären Tabelle in SQL
Temporäre Tabellen in SQL bieten Ihnen die Möglichkeit, temporäre Informationen zu speichern, während Abfragen ausgeführt werden. Sie können nützlich sein, wenn Sie die Ergebnisse von Zwischenberechnungen speichern oder vorübergehend Daten speichern müssen, die später gelöscht werden.
Um eine temporäre Tabelle in SQL zu erstellen, müssen Sie das Schlüsselwort CREATE TEMPORARY TABLE verwenden, gefolgt von dem Tabellennamen und der Tabellenstruktur.
Hier ist ein Beispiel für das Erstellen einer temporären employees-Tabelle mit den Spalten id , name und salary :
CREATE TEMPORARY TABLE employees (id INT,name VARCHAR(50),salary DECIMAL(10,2));
Sie können der temporären Tabelle Daten mit einer INSERT INTO-Anweisung oder einer SELECT-Abfrage hinzufügen. Hier ist ein Beispiel für das Hinzufügen von Daten zur Employees-Tabelle :
INSERT INTO employees (id, name, salary)VALUES (1, 'John Doe', 5000.00),(2, 'Jane Smith', 6000.00),(3, 'Bob Johnson', 5500.00);
Nachdem Sie die temporäre Tabelle beendet haben, wird sie automatisch aus der Datenbank entfernt. Sie können die temporäre Tabelle auch explizit mit dem Befehl DROP TABLE löschen.
Die Verwendung temporärer Tabellen in SQL kann Ihre Arbeit mit Zwischendaten erheblich vereinfachen und die Gesamteffizienz der Abfrageausführung verbessern.
Operationen mit temporären Tabellen
Einer der Hauptvorteile der Verwendung temporärer Tabellen ist die Möglichkeit, Werte zu berechnen und Operationen für sie innerhalb einer einzigen Abfrage auszuführen. Außerdem werden temporäre Tabellen automatisch aus der Datenbank gelöscht, wenn die Sitzung beendet wird oder wenn die Verbindung zum Server geschlossen wird.
Vorgänge mit temporären Tabellen umfassen das Erstellen, Auffüllen, Ändern der Struktur und das Löschen dieser Tabellen. Verwenden Sie zum Erstellen einer temporären Tabelle das Schlüsselwort CREATE TEMPORARY TABLE und zum Ändern der Tabellenstruktur ALTER TABLE .
Nachdem Sie eine temporäre Tabelle erstellt haben, können Sie der Tabelle Daten mit dem Befehl INSERT INTO hinzufügen. Dadurch können Sie eine solche Tabelle mit Daten füllen, um sie für weitere Berechnungen zu verwenden.
Sie können die Struktur der temporären Tabelle bei Bedarf mit der ALTER TABLE-Anweisung ändern. Auf diese Weise können Sie Spalten hinzufügen oder entfernen sowie die Datentypen oder Einschränkungen für jede Spalte ändern.
Nachdem Sie die temporäre Tabelle beendet haben, können Sie sie mit der DROP TABLE-Anweisung löschen. Dadurch werden die temporären Daten aus der Datenbank gelöscht, und die von diesen Daten belegten Ressourcen werden freigegeben.
Löschen einer temporären Tabelle
Nachdem Sie die temporäre Tabelle nicht mehr benötigen, müssen Sie sie aus der Datenbank entfernen, um Speicher und Ressourcen freizugeben.
Um eine temporäre Tabelle in SQL zu löschen, verwenden Sie die DROP TABLE-Anweisung, gefolgt vom Tabellennamen. Um beispielsweise die temporäre Tabelle "temp_table" zu löschen, müssen Sie die folgende Abfrage ausführen:
| SQL-Abfrage |
|---|
| DROP TABLE temp_table; |
Nach dem Ausführen dieser Abfrage wird die temporäre Tabelle "temp_table" aus der Datenbank entfernt. Beachten Sie, dass der Löschvorgang irreversibel ist, daher sollten Sie vor dem Löschen einer Tabelle sicherstellen, dass sie nicht mehr benötigt wird, und die erforderlichen Daten speichern.
Sie können eine temporäre Tabelle auch visuell löschen, indem Sie die von der Entwicklungsumgebung oder dem Datenbankverwaltungsprogramm bereitgestellten Verwaltungswerkzeuge verwenden.
Beispiele für die Verwendung temporärer Tabellen
1) Erstellen einer temporären Tabelle zum Speichern von Zwischenergebnissen:
Temporäre Tabellen können beim Ausführen komplexer Abfragen sehr nützlich sein, wenn Sie die Zwischenergebnisse für die weitere Verarbeitung speichern möchten. Zum Beispiel können wir eine temporäre Tabelle erstellen, um das Zwischenergebnis einer Stichprobe von Daten aus der Haupttabelle zu speichern, und diese temporäre Tabelle verwenden, um andere Abfragen auszuführen. Dies kann die Arbeit mit den Daten erheblich vereinfachen und die Leistung verbessern.
2) Erstellen einer temporären Tabelle zum temporären Speichern von Daten:
Ein weiteres Beispiel für die Verwendung temporärer Tabellen ist das Erstellen einer temporären Tabelle zum temporären Speichern von Daten. Wenn wir beispielsweise Operationen an bestimmten Daten durchführen und die Ergebnisse in einer separaten Tabelle speichern möchten, können wir zu diesem Zweck eine temporäre Tabelle verwenden. Die temporäre Tabelle existiert nur innerhalb der aktuellen Sitzung und wird automatisch gelöscht, sobald sie beendet ist.
3) Erstellen Sie eine temporäre Tabelle, um die Ergebnisse zu vergleichen:
Ein weiteres Beispiel für die Verwendung temporärer Tabellen ist das Erstellen einer temporären Tabelle, um die Ergebnisse von zwei Abfragen oder zwei Versionen von Daten zu vergleichen. Wir können die Ergebnisse der ersten Abfrage oder Version der Daten in einer temporären Tabelle speichern, eine zweite Abfrage ausführen oder eine zweite Version der Daten abrufen und die Ergebnisse vergleichen. Dies kann nützlich sein, wenn Sie die Ergebnisse debuggen oder überprüfen.