..
Dans ce court article nous allons voir comment il est possible de faire des requêtes pour supprimer (DELETE) en exploitant le potentiel des jointures, à savoir, la création de relations entre les tables dans MySQL.
En fait, nous l'avons déjà vu comment utiliser les JOIN dans la sélection des données (SELECT) et mis à jour (UPDATE), nous allons ici que prolonger ce qui a déjà été appris.
Pour mieux apprendre le potentiel de cette technique devrait examiner, comme à notre habitude de supposer un cas concret d'utilisation.
Disons que nous avons à travailler sur une base de données d'un entrepôt hypothétique compose des tableaux suivants (dont nous décrirons leurs structures):
1) Supposons que vous voulez supprimer un produit unique que vous connaissez l'ID. Dans ce cas vous pouvez simplement exécuter une requête triviale:
DELETE * FROM produits WHERE id = 1;2) La même requête sera utilisée que si vous souhaitez supprimer tous les produits emballés dans une étagère donnée:
DELETE * FROM produits WHERE ripiano_id = 1;3) Mais si vous souhaitez supprimer tous les produits dans un rayon donné?
En réalité, le problème n'est pas insurmontable! avec un peu de dextérité dans la manipulation des requêtes, en fait, l'obstacle est facilement contournable! Comment? avec un JOIN! Voici un exemple:
Supprimer des produits .* Des tablettes les produits INNER JOIN ON = prodotti.ripiano_id ripiani.id OÙ ripiani.scaffale_id = 1;En agissant ainsi nous avons créé une relation entre deux tables "produits" et "étagères" (basé sur le champ de JOIN "ripiano_id" table qui correspond au premier identifiant de la seconde) afin d'exploiter le champ "scaffale_id" de cette " dernier.
À première vue, peut-être, peut sembler un peu compliqué ... est en fait assez simple. Il s'agit de créer une relation logique entre deux tableaux en vue d'utiliser l'information pour exploiter le premier du second.
Lorsque, en plus des produits, nous avons voulu supprimer toutes les étagères des étagères correspondant à la donnée pututo nous utilisons une requête légèrement différente:
Supprimer des produits .*, étagères .* Des tablettes les produits INNER JOIN ON = prodotti.ripiano_id ripiani.id OÙ ripiani.scaffale_id = 1;En substance, cela est la vue requête juste au-dessus de la seule différence étant que l'annulation aura une incidence non seulement les champs de la table «produits»:
produits .*mais aussi ceux de la Table «plateau»:
étagères .*Pour toutes questions ou demandes, je vous invite à poster sur notre forum .
| |
MS Access (Avancé)
Apprenez à créer et gérer des bases de données rapidement et facilement. A partir de 29 €. |
| |
MySQL (Cours)
Gestion des bases de données open-source. A partir de 39 €. |
| |
SQL et bases de données (cours)
Créer et gérer des bases de données relationnelles. A partir de 39 €. |