In diesem Artikel erfahren Sie, wie Sie eine temporäre Tabelle erstellen und diese Tabellen weiter löschen. Die temporären Tabellen sind sitzungsspezifische Tabellen, die innerhalb der Sitzung erstellt werden. Wenn die Sitzung geschlossen wird, wird die Tabelle von selbst gelöscht. Eine temporäre Tabelle existiert nur innerhalb einer Sitzung; Daher ist eine von einer Sitzung erstellte Tabelle für eine andere Sitzung nicht sichtbar. Wenn beispielsweise die Sitzungs-ID 501 eine temporäre Tabelle erstellt hat, kann die Sitzungs-ID 502 nicht darauf zugreifen oder sie bearbeiten., Zwei verschiedene Sitzungen können eine temporäre Tabelle mit demselben Namen haben.
Die temporären Tabellen sind nützlich, wenn Sie eine kleine Teilmenge der großen Tabelle verwenden möchten und diese innerhalb einer gespeicherten Prozedur mehrmals verwendet wird. In solchen Fällen können Sie den Filter nicht mehrmals auf die Tabelle anwenden, sondern die Teilmenge großer Tabellen in einer temporären Tabelle speichern und in einer gespeicherten Prozedur verwenden.,
Wichtige Fakten der temporären Tabellen:
- Die temporäre MySQL-Tabelle hat eine entkoppelte Beziehung zum Datenbankschema, was bedeutet, dass beim Löschen der MySQL-Datenbank die temporären Tabellen nicht unbedingt in der Datenbank abgelegt werden müssen
- Die InnoDB-Datenbank-Engine unterstützt die komprimierte temporäre Tabelle nicht. Wenn Sie den Parameter InnoDB_strict_mode aktiviert haben, wird ein Fehler zurückgegeben., Wenn Sie den Parameter InnoDB_strict_mode deaktiviert haben, gibt MySQL eine Warnung aus und erstellt eine Tabelle mit einem nicht komprimierten Zeilenformat
- Um eine temporäre Tabelle innerhalb der gespeicherten Prozedur zu erstellen, muss der Benutzer über die Berechtigung create temporary table. Sobald es gewährt wird, erfordert das Aktualisieren, Löschen oder Einfügen der Daten in dieser temporären Tabelle keine besonderen Berechtigungen. Es gibt eine Implikation dieses Verhaltens. Angenommen, die gespeicherte Prozedur, die eine temporäre Tabelle verwendet, und ein BENUTZER 1, der die Prozedur entwickelt hat, haben die Berechtigung Temporäre Tabelle erstellen., BENUTZER 2 versucht nun, es auszuführen, verfügt jedoch nicht über die Berechtigung Temporäre Tabelle erstellen. In solchen Fällen verwendet MySQL die Berechtigungen des BENUTZERS 1, um die temporäre Tabelle zu erstellen. Sobald die Prozedur erfolgreich abgeschlossen wurde, werden die Berechtigungen zurückgesetzt
- Sie können keine temporäre Tabelle basierend auf der Definition erstellen, über die die Tabelle bereits verfügt, und sie befindet sich auf MySQL Tablespace, einem allgemeinen Tablespace oder InnoDB Tablespace., Um eine temporäre Tabelle basierend auf der Definition einer anderen Tabelle zu erstellen, müssen Sie die folgende Syntax verwenden:
1Temporäre Tabelle auswählen.., select * from
- Im Gegensatz zu regulären create table-Anweisungen verursacht die Anweisung Create temporary table nicht das implizite Commit
- Die temporäre Tabelle kann denselben Namen haben wie die reguläre MySQL-Tabelle. Obwohl beispielsweise eine Tabelle mit dem Namen employee in der Datenbank vorhanden ist, können Sie eine temporäre Tabelle mit dem Namen employee in der Datenbank erstellen. In solchen Fällen wird auf die MySQL-Tabelle nicht mehr zugegriffen. Sobald die temporäre Tabelle gelöscht wurde, kann erneut auf die physische Tabelle zugegriffen werden.,/div>
1234567temporäre Tabelle erstellen tblemployee(Column_1 Datentyp,Column_2 Datentyp,Column_3 Datentyp,…)
Wie Sie sehen können, entspricht die Syntax zum Erstellen der temporären Tabelle der Syntax zum Erstellen einer MySQL-Tabelle., Der einzige Unterschied besteht darin, dass Sie das temporäre Schlüsselwort zwischen create-und table-Schlüsselwörtern angeben müssen. Dies ist sehr wichtig, denn wenn Sie vergessen, das Schlüsselwort hinzuzufügen, wird eine reguläre MySQL-Tabelle erstellt.
Lassen Sie uns nun einige Beispiele für die temporäre Tabelle durchgehen., Ich werde die folgenden Anwendungsfälle demonstrieren:
- Erstellen Sie eine temporäre Tabelle und fügen Sie Daten in die Tabelle ein
- Erstellen Sie eine temporäre Tabelle mit der Ausgabe der select-Anweisung
- Löschen Sie die temporäre Tabelle
- Erstellen Sie eine temporäre Tabelle mit der Struktur einer anderen Tabelle
Erstellen Sie eine temporäre Tabelle und fügen Sie Daten
ein Um eine neue temporäre Tabelle mit dem Namen>
Führen Sie die folgende Abfrage aus, um die Daten in die temporäre Tabelle einzufügen.,
Sobald Daten in die temporäre Tabelle eingefügt wurden, führen Sie die folgende Abfrage aus, um zu überprüfen, ob Daten eingefügt wurden.
1
|
Select * from tblemployee;
|
Das Folgende ist die Ausgabe:
Um nun den Umfang der tblemployee-Tabelle zu überprüfen, führen wir dieselbe Abfrage vom MySQL-Befehlszeilenclient aus., id=“22c41ae375″>
1
2
|
Benutze sakila;
Select * from tblemployee;
|
Ausgabe: Wie Sie sehen können, hat die Abfrage einen Fehler ausgegeben:
Erstellen Sie eine temporäre Tabelle mit der Ausgabe der select-Anweisung
Angenommen, ich möchte eine temporäre Tabelle mit der Ausgabe der select-Abfrage erstellen., Zum Beispiel möchte ich die Details der Filmtabelle mit ihrer Kategorie in eine temporäre Tabelle namens temp_film_details einfügen. Führen Sie dazu die folgende Abfrage aus.
Sobald Details in die temporäre Tabelle eingefügt wurden, führen Sie die folgende Abfrage aus, um die Daten der temporären Tabelle anzuzeigen., id=“2a48234df2″>
1
|
Drop temporäre Tabelle tbl_film_details
|
Wie bereits erwähnt, können eine temporäre Tabelle und eine InnoDB-Tabelle denselben Namen haben, stellen Sie also sicher, dass Sie das temporäre Schlüsselwort angeben.Andernfalls, wenn eine Tabelle mit derselben gelöscht wird
Zusammenfassung
In diesem Artikel haben wir etwas über temporäre MySQL-Tabellen und deren Eigenschaften erfahren., Wir haben auch gelernt, wie wir eine temporäre Tabelle mit verschiedenen Anwendungsfällen erstellen und löschen können., Erstellen und löschen Temp-Tabellen
Lernen MySQL: Löschen und Aktualisieren Anweisungen
Lernen MySQL: Die Grundlagen der MySQL Stored Procedures
Lernen MySQL: Die Grundlagen der MySQL Ansichten
- Autor
- Aktuelle Beiträge
Er hat Know-how in der Datenbank-Design, Performance-Tuning, Backup und Recovery, HA und DR Setup, Datenbank-Migrationen und Upgrades. Er hat den B. Tech von der Ganpat University abgeschlossen. Er kann auf nisargupadhyay87@Outlook erreicht werden.,com
- Erfahren Sie MySQL: Die Grundlagen der MySQL – Ansichten – 3. Februar 2021
- Lernen Sie MySQL: Die Grundlagen der gespeicherten MySQL-Prozeduren – 8. Januar 2021
- T-SQL-Skripte, um Statistiken basierend auf dezember 2020
Leave a Reply