paint-brush
Comment utiliser des tables temporaires dans MariaDBpar@alejandroduarte
403 lectures
403 lectures

Comment utiliser des tables temporaires dans MariaDB

par Alejandro Duarte4m2024/05/02
Read on Terminal Reader

Trop long; Pour lire

Les tables temporaires sont utiles pour les opérations sur les données transitoires. Une table temporaire n'existe que pour la durée de la session dans laquelle elle a été créée et les autres sessions ne pourront pas la voir. Par exemple, considérons une table appelée « produits » dans notre base de données. Nous pouvons créer une table temporaire qui imite la structure des « produits »
featured image - Comment utiliser des tables temporaires dans MariaDB
Alejandro Duarte HackerNoon profile picture

Explorons le fonctionnement des tables temporaires dans MariaDB. Tout d’abord, nous devons nous connecter au serveur. Par exemple (utilisez vos propres informations de connexion) :

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


Maintenant, juste pour souligner quelque chose, créons un tableau standard (permanent). Voici comment:

 CREATE TABLE t ( c INT );


Cette table, t , persistera dans la base de données même après avoir quitté le client :

 exit


Lorsque nous nous reconnectons et vérifions les tables existantes en utilisant SHOW TABLES; , la table t sera toujours listée :

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


Tout cela est assez évident, mais maintenant, recréons ce tableau et essayons quelque chose de différent :

 CREATE OR REPLACE TEMPORARY TABLE t ( c INT );


Notez le mot-clé TEMPORARY . Après avoir créé cette table, si nous exécutons SHOW TABLES; , il apparaît dans la liste. Nous pouvons y insérer des données, les interroger et les joindre à d'autres tables. Il se comporte comme une table normale pendant la session en cours. Cependant, si nous quittons le client, reconnectez-vous et effectuez un SHOW TABLES; encore une fois, la table temporaire t ne sera pas répertoriée.


Une table temporaire n'existe que pour la durée de la session dans laquelle elle a été créée et les autres sessions ne pourront pas la voir.

Cas d'utilisation des tables temporaires

Les tables temporaires sont très utiles pour les opérations sur les données transitoires. Par exemple, considérons une table appelée products dans notre base de données :

 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) )


On peut créer une table temporaire qui imite la structure des products :

 CREATE TEMPORARY TABLE t LIKE products;


Nous pouvons le confirmer en exécutant :

 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 | | +-------------+--------------+------+-----+---------+----------------+


Initialement, t sera vide. Cependant, supposons que nous souhaitions transférer certaines données des products vers t . Supposons que nous souhaitions inclure uniquement les produits contenant le chiffre 0 dans leur code :

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


Après avoir exécuté cette commande, si nous interrogeons la table temporaire t :

 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. | +----+--------+------------------+---------------------------------------------------+

Nous voyons les données filtrées.

Conclusion

Les tables temporaires offrent un moyen puissant de gérer les données pour un traitement temporaire sans affecter le magasin de données persistantes. Ils sont particulièrement utiles dans les scénarios où les données doivent être manipulées ou transformées temporairement. Vous pouvez utiliser des tables permanentes pour ce type de manipulation de données, mais les tables temporaires sont utiles lorsque vous avez besoin d'un nettoyage automatique, d'un risque réduit de conflits de noms, d'isolation et de sécurité, ainsi que d'une gestion des ressources pour les performances des requêtes.