MySQL DELETE-setning brukes til å fjerne poster fra MySQL-tabellen som ikke lenger er nødvendig i databasen. Denne spørringen i MySQL sletter en hel rad fra tabellen og produserer antallet slettede rader . Det lar oss også slette mer enn én post fra tabellen i en enkelt spørring, noe som er fordelaktig mens du fjerner et stort antall poster fra en tabell. Ved å bruke sletteerklæringen kan vi også fjerne data basert på betingelser.
Når vi har slettet postene ved hjelp av denne spørringen, kan vi ikke gjenopprette den . Før du sletter noen poster fra tabellen, anbefales det derfor å lage en sikkerhetskopi av databasen din . Database-sikkerhetskopiene lar oss gjenopprette dataene når vi trenger det i fremtiden.
Syntaks:
Følgende er syntaksen som illustrerer hvordan du bruker DELETE-setningen:
innsettingssorteringsalgoritme
DELETE FROM table_name WHERE condition;
I setningen ovenfor må vi først spesifisere tabellnavnet som vi ønsker å slette data fra. For det andre må vi spesifisere betingelsen for å slette poster i WHERE-leddet , som er valgfritt. Hvis vi utelater WHERE-leddet i setningen, vil denne spørringen fjerne hele poster fra databasetabellen.
Hvis vi ønsker å slette poster fra flere tabeller ved å bruke en enkelt DELETE-spørring, må vi legge til BLI MED klausul med DELETE-setningen.
sove for javascript
Hvis vi ønsker å slette alle poster fra en tabell uten å vite antallet slettede rader, må vi bruke TRUNCATE TABELL uttalelse som gir bedre ytelse.
La oss forstå hvordan DELETE-setningen fungerer i MySQL gjennom ulike eksempler.
MySQL DELETE-erklæringseksempler
Her skal vi bruke 'Ansatte' og 'Innbetaling' tabeller for demonstrasjon av DELETE-setningen. Anta at tabellene for ansatte og betalinger inneholder følgende data:
Hvis vi ønsker å slette en ansatt hvis emp_id er 107 , bør vi bruke DELETE-setningen med WHERE-klausulen. Se spørringen nedenfor:
mysql> DELETE FROM Employees WHERE emp_id=107;
Etter utførelsen av spørringen, vil den returnere utdata som under bildet. Når posten er slettet, verifiser tabellen ved å bruke SELECT-setningen:
katrina kaif
Hvis vi ønsker å slette alle poster fra tabellen, er det ikke nødvendig å bruke WHERE-leddet med DELETE-setningen. Se koden og utdata nedenfor:
I utgangen ovenfor kan vi se at etter fjerning av alle rader, vil tabellen Ansatte være tom. Det betyr at ingen poster er tilgjengelige i den valgte tabellen.
MySQL DELETE og LIMIT klausul
MySQL Limit-klausul brukes til å begrense antallet rader som returnerer fra resultatsettet, i stedet for å hente hele postene i tabellen. Noen ganger ønsker vi å begrense antall rader som skal slettes fra tabellen; i så fall vil vi bruke GRENSE klausul som følger:
DELETE FROM table_name WHERE condition ORDER BY colm1, colm2, ... LIMIT row_count;
Det er å merke seg at rekkefølgen på rader i en MySQL-tabell er uspesifisert. Derfor bør vi alltid bruke REKKEFØLGE ETTER klausulen mens du bruker LIMIT-klausulen.
For eksempel , sorterer følgende spørring først de ansatte etter navnene deres alfabetisk og sletter de tre første ansatte fra tabellen:
mysql> DELETE FROM Employees ORDER BY name LIMIT 3;
Det vil gi følgende utgang:
MySQL SLETT og BLI MED Klausul
JOIN-klausulen brukes til å legge til de to eller flere tabellene i MySQL. Vi vil legge til JOIN-klausulen med DELETE-setningen når vi ønsker å slette poster fra flere tabeller i en enkelt spørring. Se spørringen nedenfor:
mysql> DELETE Employees, Payment FROM Employees INNER JOIN Payment ON Employees.emp_id = Payment.emp_id WHERE Employees.emp_id = 102;
Produksjon:
Etter utførelse vil vi se utgangen som bildet nedenfor:
firma vs selskap
For å lese mer informasjon om DELETE-setningen med JOIN-klausulen, Klikk her .