..
I denna korta artikel kommer vi får se hur det är möjligt att göra förfrågningar att ta bort (DELETE) utnyttjar potentialen i går, dvs att skapa relationer mellan tabeller i MySQL.
I själva verket har vi redan sett hur man använder delta i valet av data (SELECT) och uppdateras (Update), här kommer vi att bara utöka det som redan har lärt sig.
För att bättre lära potentialen i denna teknik bör överväga att, som vår vana att ta ett konkret fall av användning.
Låt oss säga att vi måste arbeta på en databas av en hypotetisk lager består av följande tabeller (som vi beskriver deras strukturer):
1) Antag att du vill ta bort en enda produkt som du vet ID. I detta fall kan du bara köra en trivial fråga:
DELETE * FROM produkter WHERE id = 1;2) Samma fråga kommer att användas om du vill ta bort alla produkter som är förpackade i en viss hylla:
DELETE * FROM produkter WHERE ripiano_id = 1;3) Men om du vill ta bort alla produkter inom en viss hylla?
I verkligheten är problemet inte är oöverstigligt! med lite "handlag i hanteringen frågor, i själva verket är det hinder som lätt kringgås! Hur? med en GÅ! Här är ett exempel:
DELETE produkter .* Från produkter INNER JOIN hyllor ON = prodotti.ripiano_id ripiani.id VAR ripiani.scaffale_id = 1;Därmed har vi skapat en relation mellan två tabeller "produkter" och "hyllor" (baserad på området JOIN "ripiano_id" bord som matchar den första identifieraren i det andra) för att utnyttja fältet "scaffale_id" av denna " sist.
Vid första anblicken kanske kan tyckas lite komplicerat ... är faktiskt ganska enkelt. Det handlar om att skapa en logisk relation mellan två tabeller för att använda information för att driva den första av den andra.
Var, förutom produkterna, ville vi ta bort alla hyllorna hyllan som motsvarar de givna pututo använder vi en något annorlunda fråga:
DELETE produkter .*, hyllor .* Från produkter INNER JOIN hyllor ON = prodotti.ripiano_id ripiani.id VAR ripiani.scaffale_id = 1;I huvudsak är detta frågan anser precis ovanför den enda skillnaden att den inställda flygningen kommer att påverka inte bara de fält i tabellen "produkter":
produkter .*utan även de i tabellen "hyllan":
hyllor .*För frågor eller önskemål Jag inbjuder dig att lägga på vårt forum .
| |
MS Access (avancerat)
Lär dig skapa och hantera databaser snabbt och enkelt. Från 29 €. |
| |
MySQL (kurs)
Hantering av öppen källkod databas. Från 39 €. |
| |
SQL och databas (kurs)
Skapa och hantera relationsdatabaser. Från 39 €. |