..
În acest scurt articol vom vedea cum este posibil să se facă interogări pentru a şterge (DELETE) exploatarea potenţialului se alătură, de exemplu, crearea de relaţii între tabele în MySQL.
De fapt, am văzut deja cum se utilizează JOIN în selectarea de date (SELECT) şi în curs de actualizare (UPDATE), aici vom extinde doar ceea ce a fost deja învăţat.
Pentru a afla mai bine potenţialul acestei tehnici ar trebui să ia în considerare, ca obiceiul nostru să-şi asume un caz concret de utilizare.
Să presupunem că trebuie să lucrăm la o bază de date a unui depozit ipotetic constă în următoarele tabele (din care vom descrie structurile lor):
1) Să presupunem că doriţi să ştergeţi un singur produs pe care îl cunoaşteţi ID-ul. În acest caz, puteţi rula doar o interogare de banal:
DELETE * FROM produse WHERE id = 1;2) aceeaşi interogare va fi folosit dacă doriţi să ştergeţi toate produsele ambalate intr-un raft dat:
DELETE * FROM produse WHERE ripiano_id = 1;3) Dar dacă doriţi să ştergeţi toate produsele într-un raft dat?
În realitate, problema nu este insurmontabilă! cu dexteritate un pic "în manipularea interogări, de fapt, obstacolul este uşor eludată! Cum? cu un JOIN! Iată un exemplu:
DELETE produse .* DIN produse rafturi INNER JOIN ON = prodotti.ripiano_id ripiani.id UNDE ripiani.scaffale_id = 1;În acest sens, am creat o relaţie între două tabele "produse" şi "rafturi" (bazat pe domeniul de ÎNSCRIEŢI "ripiano_id" tabel care se potriveşte cu identificatorul prima de-al doilea), în scopul de a exploata câmpul "scaffale_id" acestui " ultima.
La prima vedere, probabil, s-ar putea părea un pic cam complicat ... este, de fapt destul de simplu. Este crearea despre o relaţie logică între două tabele în scopul de a utiliza informaţiile pentru a opera prima de-a doua.
În cazul în care, în plus faţă de produse, ne-am dorit pentru a elimina toate raft rafturi corespunzătoare pututo dat vom folosi o interogare puţin diferită:
DELETE produse, rafturi .* .* DIN produse rafturi INNER JOIN ON = prodotti.ripiano_id ripiani.id UNDE ripiani.scaffale_id = 1;În esenţă, aceasta este de părere interogarea chiar deasupra singura diferenţă fiind că anulare va afecta nu numai câmpurile din tabelul "produse":
produse .*dar, de asemenea, cele din tabelul de "raft":
Rafturi .*Pentru întrebări sau cereri vă invit să ne mesaj pe forum .
| |
MS Access (Avansat)
Aflaţi cum să creaţi şi să gestionaţi baze de date rapid şi uşor. Incepand de la 29 €. |
| |
MySQL (Curs)
De gestionare a bazei de date open-source. De la 39 €. |
| |
SQL si baze de date (Curs)
Crearea şi gestionarea bazelor de date relaţionale. De la 39 €. |