Erstellen eine temporäre Tabelle in MySQL

Preet Sanghavi 30 Januar 2023
  1. Erstellen eine einfache temporäre Tabelle in MySQL
  2. Erstellen einer temporären Tabelle aus einer SELECT-Abfrage
Erstellen eine temporäre Tabelle in MySQL

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.

Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub

Verwandter Artikel - MySQL Table