paint-brush
So verwenden Sie temporäre Tabellen in MariaDBvon@alejandroduarte
403 Lesungen
403 Lesungen

So verwenden Sie temporäre Tabellen in MariaDB

von Alejandro Duarte4m2024/05/02
Read on Terminal Reader

Zu lang; Lesen

Temporäre Tabellen sind für flüchtige Datenoperationen nützlich. Eine temporäre Tabelle existiert nur für die Dauer der Sitzung, in der sie erstellt wurde, und andere Sitzungen können sie nicht sehen. Betrachten wir beispielsweise eine Tabelle namens „Produkte“ in unserer Datenbank. Wir können eine temporäre Tabelle erstellen, die die Struktur von „Produkten“ nachahmt.
featured image - So verwenden Sie temporäre Tabellen in MariaDB
Alejandro Duarte HackerNoon profile picture

Sehen wir uns an, wie temporäre Tabellen in MariaDB funktionieren. Zuerst müssen wir eine Verbindung zum Server herstellen. Beispiel (verwenden Sie Ihre eigenen Verbindungsdetails):

 mariadb -h 127.0.0.1 -u root -p"RootPassword!" --database demo


Um etwas klarzustellen, erstellen wir nun eine Standardtabelle (permanente Tabelle). So geht's:

 CREATE TABLE t ( c INT );


Diese Tabelle, t , bleibt in der Datenbank bestehen, auch nachdem wir den Client beenden:

 exit


Wenn wir die Verbindung wiederherstellen und die vorhandenen Tabellen mit SHOW TABLES; überprüfen, wird die Tabelle t immer noch aufgelistet:

 mariadb -h 127.0.0.1 -u root -p"RootPassword!" --database demo
 SHOW TABLES;
 +----------------+ | Tables_in_demo | +----------------+ | t | +----------------+


Dies ist alles ziemlich offensichtlich, aber lassen Sie uns nun diese Tabelle neu erstellen und etwas anderes ausprobieren:

 CREATE OR REPLACE TEMPORARY TABLE t ( c INT );


Beachten Sie das Schlüsselwort TEMPORARY . Wenn wir nach dem Erstellen dieser Tabelle SHOW TABLES; ausführen, erscheint sie in der Liste. Wir können Daten einfügen, sie abfragen und sie mit anderen Tabellen verknüpfen. Während der aktuellen Sitzung verhält sie sich wie eine normale Tabelle. Wenn wir jedoch den Client beenden, die Verbindung wiederherstellen und erneut SHOW TABLES; ausführen, wird die temporäre Tabelle t nicht aufgelistet.


Eine temporäre Tabelle existiert nur für die Dauer der Sitzung, in der sie erstellt wurde, und andere Sitzungen können sie nicht sehen.

Anwendungsfall für temporäre Tabellen

Temporäre Tabellen sind für flüchtige Datenoperationen sehr nützlich. Betrachten Sie beispielsweise eine Tabelle namens „ products in unserer Datenbank:

 CREATE TABLE products ( id INT NOT NULL AUTO_INCREMENT, code VARCHAR(100) NOT NULL, name VARCHAR(250) NOT NULL, description TEXT DEFAULT NULL, PRIMARY KEY (id), UNIQUE KEY code (code) )


Wir können eine temporäre Tabelle erstellen, die die Struktur von products nachahmt:

 CREATE TEMPORARY TABLE t LIKE products;


Wir können dies bestätigen, indem wir Folgendes ausführen:

 DESCRIBE t;
 +-------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+--------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | code | varchar(100) | NO | UNI | NULL | | | name | varchar(250) | NO | | NULL | | | description | text | YES | | NULL | | +-------------+--------------+------+-----+---------+----------------+


Anfangs ist t leer. Nehmen wir jedoch an, wir möchten einige Daten von products nach t übertragen. Nehmen wir an, wir möchten nur Produkte einschließen, deren Code die Zahl 0 enthält:

 INSERT INTO t SELECT * FROM products WHERE code LIKE '%0%';


Wenn wir nach dem Ausführen dieses Befehls die temporäre Tabelle t abfragen:

 SELECT * FROM t;
 +----+--------+------------------+---------------------------------------------------+ | id | code | name | description | +----+--------+------------------+---------------------------------------------------+ | 1 | BG2024 | BugBlaster | Eradicates software bugs with a single scan. | | 3 | FW001 | FireWhale | An oversized, comprehensive firewall solution. | | 4 | CLD404 | CloudNine Finder | Find your way back from cloud outages and errors. | +----+--------+------------------+---------------------------------------------------+

Wir sehen die gefilterten Daten.

Abschluss

Temporäre Tabellen bieten eine leistungsstarke Möglichkeit, Daten für die temporäre Verarbeitung zu handhaben, ohne den persistenten Datenspeicher zu beeinträchtigen. Sie sind besonders nützlich in Szenarien, in denen Daten vorübergehend bearbeitet oder transformiert werden müssen. Sie können permanente Tabellen für diese Art der Datenbearbeitung verwenden, aber temporäre Tabellen sind nützlich, wenn Sie eine automatische Bereinigung, ein geringeres Risiko von Namenskonflikten, Isolierung und Sicherheit sowie Ressourcenverwaltung für die Abfrageleistung benötigen.