ADD COLUMN date_naissance DATETIME;
Suppression
En ce qui concerne la suppression, on a le choix d'ajouter TEMPORARY, ou non.
Si TEMPORARY est précisé, la table mentionnée ne sera supprimée que s'il s'agit bien d'une table temporaire. Sans ce mot-clé, on
pourrait supprimer par erreur une table non temporaire, en cas de confusion des noms des tables par exemple.
Exemple : suppression de TMP_Animal, qui n'aura pas fait long feu.
Code : SQL
DROP TEMPORARY TABLE TMP_Animal;
Utilisation des tables temporaires
Une table temporaire s'utilise comme une table normale. Les commandes d'insertion, modification et suppression de données
sont exactement les mêmes.
Notez que l'immense majorité des tables temporaires étant créées pour stocker des données venant d'autres tables, on utilise
souvent INSERT INTO ... SELECT pour l'insertion des données.
Cache-cache table
Une table temporaire existe donc uniquement pour la session qui la crée. Par conséquent, deux sessions différentes peuvent
parfaitement utiliser chacune une table temporaire ayant le même nom, mais ni la même structure ni les mêmes données.
Il est également possible de créer une table temporaire ayant le même nom qu'une table normale. Toutes les autres sessions
éventuelles continueront à travailler sur la table normale comme si de rien n'était.
Et la session qui crée cette fameuse table ?
En cas de conflit de noms entre une table temporaire et une table permanente, la table temporaire va masquer la table permanente.
Donc, tant que cette table temporaire existera (c'est-à-dire jusqu'à ce qu'on la supprime explicitement, ou jusqu'à déconnexion de
la session), toutes les requêtes faites en utilisant son nom seront exécutées sur la table temporaire, et non sur la table
permanente de même nom.
Exemple : création d'une table temporaire nommée Animal.
On commence par sélectionner les perroquets de la table Animal (la table normale, puisqu'on n'a pas encore créé la table
temporaire). On obtient quatre résultats.
Code : SQL
SELECT id, sexe, nom, commentaires, espece_id
FROM Animal
WHERE espece_id = 4;
id sexe nom
commentaires
espece_id
57 M
Safran Coco veut un gâteau ! 4
58 M
Gingko Coco veut un gâteau ! 4
59 M
Bavard Coco veut un gâteau ! 4
Partie 6 : Au-delà des tables classiques : vues, tables temporaires et vues matérialisées
353/414
www.openclassrooms.com
Précédent

- 353/413

Suivant