logo

MySQL DELETE-erklæring

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:

mysql slette spørring
mysql slette spørring

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
mysql slette spørring

Hvis vi ønsker å slette alle poster fra tabellen, er det ikke nødvendig å bruke WHERE-leddet med DELETE-setningen. Se koden og utdata nedenfor:

mysql slette spørring

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 slette spørring

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
mysql slette spørring

For å lese mer informasjon om DELETE-setningen med JOIN-klausulen, Klikk her .