..
I denne korte artikel vil vi se, hvordan det er muligt at lave forespørgsler til at slette (DELETE) at udnytte potentialet i samlingerne, det vil sige, at skabe relationer mellem tabeller i MySQL.
Faktisk har vi allerede set, hvordan du bruger deltage i udvælgelsen af data (SELECT) , og bliver opdateret (UPDATE), her vil vi kun forlænge det, de allerede har lært.
For bedre at lære af potentialet i denne teknik bør overveje, som vores vane at påtage sig et konkret tilfælde af brug.
Lad os sige, at vi er nødt til at arbejde på en database med en hypotetisk lager består af følgende tabeller (som vi beskriver deres strukturer):
1) Antag, at du vil slette et enkelt produkt, som du kender ID. I dette tilfælde kan du bare køre en triviel forespørgsel:
DELETE * FROM Produkter WHERE id = 1;2) Den samme forespørgsel vil blive brugt, hvis du ønsker at slette alle varer pakket ind i en given hylde:
DELETE * FROM Produkter WHERE ripiano_id = 1;3) Men hvis du ønsker at slette alle produkter inden for en given hylde?
I virkeligheden er problemet ikke uoverkommelig! med et lille 'fingerfærdighed i håndtering af forespørgsler, i virkeligheden er den forhindring nemt at omgå! Hvordan? med en JOIN! Her er et eksempel:
SLET produkter .* FRA produkter INNER JOIN hylderne ON = prodotti.ripiano_id ripiani.id WHERE ripiani.scaffale_id = 1;Dermed har vi skabt en relation mellem to tabeller "produkter" og "hylder" (baseret på området Deltag "ripiano_id" tabel, der matcher den første identifikation af det andet) for at udnytte feltet "scaffale_id" af denne " sidste.
Ved første øjekast, måske kan virke en smule kompliceret ... er faktisk ret simpelt. Det handler om at skabe en logisk sammenhæng mellem to tabeller for at kunne bruge oplysninger til at drive den første af den anden.
Når der i tillæg til de produkter, ønskede vi at fjerne alle hylderne hylden, der svarer til den givne pututo bruger vi en lidt anden forespørgsel:
DELETE produkter .*, hylder .* FRA produkter INNER JOIN hylderne ON = prodotti.ripiano_id ripiani.id WHERE ripiani.scaffale_id = 1;I essensen er dette forespørgslen se lige over den eneste forskel er, at annulleringen vil påvirke ikke kun de felter i tabellen "produkter":
produkter .*men også dem i tabellen "hylde":
hylder .*For spørgsmål eller anmodninger Jeg vil opfordre dig til at skrive på vores fora .
| |
MS Access (Avanceret)
Lær at oprette og administrere databaser hurtigt og nemt. Fra 29 €. |
| |
MySQL (Kursus)
Forvaltning af open source-database. Fra 39 €. |
| |
SQL-og Database (Kursus)
Oprette og administrere relationelle databaser. Fra 39 €. |