Erstellen eine temporäre Tabelle in MySQL
- Erstellen eine einfache temporäre Tabelle in MySQL
-
Erstellen einer temporären Tabelle aus einer
SELECT
-Abfrage
In diesem Tutorial möchten wir verschiedene Methoden zum Erstellen einer temporären Tabelle in MySQL untersuchen.
Eines der Hauptmerkmale einer temporären Tabelle besteht darin, dass sie beim Speichern vorläufiger Daten von entscheidender Bedeutung ist. Diese Funktion ist in MySQL-Version 3.23 und höher aktiviert.
Diese Tabellen gehen verloren, wenn der Benutzer die Tabelle manuell löscht oder die Sitzung endet.
Ein weiteres Merkmal einer temporären Tabelle besteht darin, dass derselbe Name der Tabelle in mehreren Verbindungen verwendet werden kann. Dies wird ermöglicht, da der Client nur die von ihm erstellte temporäre Tabelle bearbeiten kann.
Es gibt zwei Möglichkeiten, eine temporäre Tabelle in MySQL zu erstellen:
- Grundlegende temporäre Tabellenerstellung.
- Temporäre Tabellenerstellung aus der
SELECT
-Abfrage.
Bevor wir jedoch beginnen, erstellen wir ein Dummy-Dataset, mit dem wir arbeiten können. Hier erstellen wir eine Tabelle, student_details
, zusammen mit einigen Zeilen darin.
-- create the table student_details
CREATE TABLE student_details(
stu_id int,
stu_firstName varchar(255) DEFAULT NULL,
stu_lastName varchar(255) DEFAULT NULL,
primary key(stu_id)
);
-- insert rows to the table student_details
INSERT INTO student_details(stu_id,stu_firstName,stu_lastName)
VALUES(1,"Preet","Sanghavi"),
(2,"Rich","John"),
(3,"Veron","Brow"),
(4,"Geo","Jos"),
(5,"Hash","Shah"),
(6,"Sachin","Parker"),
(7,"David","Miller");
Die obige Abfrage erstellt eine Tabelle zusammen mit Zeilen mit dem Vor- und Nachnamen des Schülers. Um die Einträge in den Daten einzusehen, verwenden wir folgenden Code:
SELECT * FROM student_details;
Der obige Code würde die folgende Ausgabe ergeben:
stu_id stu_firstName stu_lastName
1 Preet Sanghavi
2 Rich John
3 Veron Brow
4 Geo Jos
5 Hash Shah
6 Sachin Parker
7 David Miller
Erstellen wir nun eine temporäre Tabelle mit dem Namen students_temporary
ähnlich der Tabelle student_details
.
Erstellen eine einfache temporäre Tabelle in MySQL
Eine der einfachsten Methoden zum Erstellen einer temporären Tabelle ist die Verwendung des Schlüsselworts TEMPORARY
. Wir können eine temporäre Tabelle namens students_teporary
wie folgt erstellen:
-- Basic temporary table creation
CREATE TEMPORARY TABLE students_teporary(
stu_id int,
stu_firstName varchar(255) DEFAULT NULL,
stu_lastName varchar(255) DEFAULT NULL,
primary key(stu_id)
);
Der obige Code erstellt eine temporäre Tabelle namens students_temporary
. Als nächstes fügen wir einige Einträge in diese Tabelle mit dem folgenden Code ein:
-- insert rows to the table student_details
INSERT INTO student_details(stu_id,stu_firstName,stu_lastName)
VALUES(1,"Preet","Sanghavi"),
(2,"Rich","John"),
(3,"Veron","Brow"),
(4,"Geo","Jos"),
(5,"Hash","Shah"),
(6,"Sachin","Parker"),
(7,"David","Miller");
Die Ausgabe des oben genannten Codes führt zu einer temporären Tabelle wie folgt:
stu_id stu_firstName stu_lastName
1 Preet Sanghavi
2 Rich John
3 Veron Brow
4 Geo Jos
5 Hash Shah
6 Sachin Parker
7 David Miller
Erstellen einer temporären Tabelle aus einer SELECT
-Abfrage
Eine andere Methode zum Erstellen temporärer Tabellen besteht darin, die select-Anweisung zu verwenden. Diese Methode hilft uns, eine gesamte Tabelle in eine temporäre Tabelle mit denselben Entitäten und Datentypen zu replizieren. Versuchen wir, eine temporäre Tabelle students_details_temporary
mit der Anweisung select
zu erstellen. Wir können dies mit dem folgenden Code tun.
-- Replicating the students_details table
CREATE TEMPORARY TABLE IF NOT EXISTS students_details_temporary AS (SELECT * FROM students_details);
Hinweis: In der obigen Abfrage verwenden wir IF NOT EXISTS
, um sicherzustellen, dass keine Tabelle mit dem Namen student_details_temporary
in der Datenbank vorhanden ist.
Der oben genannte Code gibt die folgende Ausgabe aus:
stu_id stu_firstName stu_lastName
1 Preet Sanghavi
2 Rich John
3 Veron Brow
4 Geo Jos
5 Hash Shah
6 Sachin Parker
7 David Miller
Wie wir sehen, wurde eine temporäre Tabelle mit den gleichen Entitäten und Einträgen wie die der Originaltabelle (student_details
) generiert.
So können wir mit Hilfe der beiden oben genannten Methoden effizient eine temporäre Tabelle erstellen. Diese temporäre Tabelle wird gelöscht, sobald die allerletzte Verbindung beendet wird.
Verwandter Artikel - MySQL Table
- Alle Zeilen einer MySQL-Tabelle durchlaufen
- Kopieren Sie Tabellenstrukturen, ohne Daten in MySQL zu kopieren
- Rufen Sie die ID des zuletzt eingefügten Datensatzes in MySQL ab
- Sichern Sie eine einzelne Tabelle mit Mysqldump
- Tabellen- und Datenbankstruktur in MySQL anzeigen
- Unterschied zwischen zwei Tabellen in MySQL