Hensikten med denne opplæringen er å hjelpe deg med å forstå hvordan du bruker sletteklausulen sammen med Join -leddet for å fjerne data på en gang. Hvis du er ny i MySQL, bør du vurdere våre andre opplæringsprogrammer, for eksempel sammenføyninger og slipp tordene.
La oss komme i gang.
Grunnleggende bruk: Slett med indre sammenføyning
Den første slettemetoden vi vil diskutere er hvordan du bruker MySQL Delete Clause i en indre sammenføyningsuttalelse for å fjerne data fra rader som samsvarer med en annen tabell.
Den generelle syntaksen for å implementere en slik spørring vises nedenfor:
Slett TBL1, TBL2 fra TBL1 indre Bli med TBL2 på TBL1.col = tbl2.col hvor [tilstand];La meg forsikre deg om at det er lettere enn det ser ut. La meg forklare:
Vi starter med å spesifisere tabellene vi ønsker å fjerne dataene. Tabeller er spesifisert mellom sletting og fra leddet.
I den andre delen spesifiserer vi tilstanden for de matchende radene i de angitte tabellene. For eksempel:
TBL1.col = tbl2.colTil slutt setter vi hvor tilstanden som bestemmer radene i de spesifiserte tabellene som skal slettes.
Eksempel Bruk sak
La meg bruke et eksempel for å illustrere hvordan vi kan bruke sletteklausulen og indre sammenføyning for å fjerne rader fra flere tabeller. Tenk på spørsmålene nedenfor:
Skape skjemasamfunn;Når vi har slike data, kan vi illustrere hvordan du bruker slett med indre sammenføyning som vist i spørringen nedenfor:
Slett samfunnet.Brukere, samfunnet.kontakter fra samfunnet.brukere indre bli med kontakter på user_id = home_id hvor bruker_id = 3;Spørringen over vil vise resultatet som vist nedenfor:
To rader som er berørt på 7 ms, noe som indikerer at to rader er fjernet.
Slett med venstre sammen
Den andre slettemetoden vi vil diskutere er å bruke venstre sammenføyning. Den generelle syntaksen for denne slettypen er som vist nedenfor:
Slett TBL1 fra TBL1 venstre Bli med TBL2 på TBL1.col = tbl2.col hvor tble.Col er null;For å slette med venstre sammenføyning, spesifiserer vi bare en tabell-lignende den indre sammenføyningen der vi spesifiserte to tabeller.
Tenk på hele spørringen nedenfor:
Bruk samfunnet;Når vi har utført spørringen ovenfor, er brukeren hvis adresse er null etter at sammenkoblingen er slettet, og utgangsresultatet er som vist nedenfor:
Konklusjon
I denne opplæringen diskuterte vi hvordan du bruker MySQL Delete med Join -setninger for å slette data fra flere tabeller.