..
Per šį trumpą straipsnį, mes pamatysime, kaip tai galima padaryti užklausų ištrinti (Delete) panaudojant prisijungia potencialą, ty, kurti ryšius tarp lentelių MySQL.
Iš tiesų jau matėme, kaip naudoti prisijungti prie duomenų atrankos (Pasirinkti) ir atnaujinamas (atnaujinta), čia mes tik pratęsti, kas jau buvo išmokta.
Norėdami geriau išmokti šią techniką potencialas turėtų apsvarstyti, kaip mūsų įprotis manyti, konkrečiu atveju naudoti.
Tarkime, kad turime dirbti nuo hipotetinio sandėlyje duomenų bazė susideda iš šių lentelių (kurios mes aprašome savo struktūras):
1) Tarkime, norite ištrinti vieną produktą, kad jūs žinote, ID. Šiuo atveju, galite tiesiog paleisti trivialus užklausą:
DELETE * FROM produktų WHERE id = 1;2) pati užklausa bus naudojama, jei norite ištrinti visus produktus sudėti į tam tikrą lentyna:
DELETE * FROM produktų KUR ripiano_id = 1;3) Bet jei norite ištrinti visus produktus per tam tikrą lentynos?
Iš tikrųjų problema nėra neįveikiama! su šiek tiek "vikrumas tvarkant užklausas, iš tikrųjų, kliūtis yra lengvai apeiti! Kaip? su PRISIJUNK! Štai pavyzdys:
DELETE produktų .* Iš produktų, INNER JOIN lentynos ON = prodotti.ripiano_id ripiani.id KUR ripiani.scaffale_id = 1;Tokiu būdu mes sukūrėme tarp dviejų lentelių "produktų" ir "lentynos" (remiantis prisijungti "ripiano_id" stalo, kuris atitinka pirmąjį identifikatorius Antrajame lauke) santykius, siekiant išnaudoti srityje "scaffale_id" šios " paskutinis.
Iš pirmo žvilgsnio, ko gero, gali pasirodyti šiek tiek sudėtinga ... iš tiesų yra gana paprasta. Tai, kaip kurti loginis ryšys tarp dviejų lentelių, kad naudoti informaciją, dirbti antrą pirma.
Tais atvejais, kai, be to, produktų, mes norėjome pašalinti visus lentynos lentynos atitinkanti pateikta pututo mes naudojame šiek tiek kitokią užklausą:
DELETE produktų .*, lentynos .* Iš produktų, INNER JOIN lentynos ON = prodotti.ripiano_id ripiani.id KUR ripiani.scaffale_id = 1;Iš esmės tai yra užklausa peržiūrėti virš Vienintelis skirtumas yra tas, kad atšaukimas turės įtakos ne tik laukų lentelėje "produktus":
produktų .*bet ir lentelė "lentynos":
lentynos .*Jei turite klausimų ar prašymų aš kviečiu jus po mūsų forumuose .
| |
MS Access (Advanced)
Sužinokite, kaip kurti ir valdyti duomenų bazes greitai ir lengvai. Nuo 29 €. |
| |
MySQL (kurso)
Valdymas atviro kodo duomenų bazės. Nuo 39 €. |
| |
SQL ir duomenų bazės (kurso)
Kurkite ir tvarkykite reliacinėse duomenų bazėse. Nuo 39 €. |