I denne øvelse vil vi se på DELETE-sætningen i SQL for at lære, hvordan vi kan bruge den til at slette en eksisterende række fra en tabel.
SLET erklæring
Det følgende viser syntaksen for DELETE-sætningen i SQL:
SLET
FRA
tabelnavn
HVOR
tilstand;
Vi starter med DELETE-sætningen for at fortælle databasemotoren, at vi ønsker at fjerne en række eller flere rækker.
Vi angiver derefter navnet på den tabel, som vi ønsker at fjerne rækkerne fra. Dernæst specificerer vi betingelsen i WHERE-sætningen. Dette er en vigtig klausul, da den giver os mulighed for at indsnævre, hvilke specifikke rækker vi ønsker at fjerne.
Hvis vi udelader WHERE-sætningen, vil sætningen fjerne alle rækkerne fra den angivne tabel. Brug med forsigtighed.
Udsagnet returnerer derefter antallet af rækker, der er slettet fra tabellen.
Eksempel tabel
Før vi går ind i eksemplerne på, hvordan man bruger DELETE-sætningen, lad os oprette en grundlæggende tabel til demonstrationsformål.
CREATE TABLE-sætningen er som følger:
OPRET TABLE produkter (product_id INT PRIMARY KEY AUTO_INCREMENT,
produktnavn VARCHAR( 255 ),
kategori VARCHAR( 255 ),
pris DECIMAL( 10 , 2 ),
mængde INT,
udløbsdato DATE,
stregkode BIGINT
);
Når vi har oprettet tabellen, kan vi indsætte eksempeldataene i tabellen som vist i følgende indsæt-sætninger:
indsætteind i
produkter (produktnavn,
kategori,
pris,
antal,
udløbsdato,
stregkode)
værdier ( 'Kokkehat 25 cm' ,
'bageri' ,
24,67 ,
57 ,
'2023-09-09' ,
2854509564204 );
indsætte
ind i
produkter (produktnavn,
kategori,
pris,
antal,
udløbsdato,
stregkode)
værdier ( 'Vagtelæg - dåse' ,
'spisekammer' ,
17,99 ,
67 ,
'2023-09-29' ,
1708039594250 );
indsætte
ind i
produkter (produktnavn,
kategori,
pris,
antal,
udløbsdato,
stregkode)
værdier ( 'Kaffe - Egg Nog Capuccino' ,
'bageri' ,
92,53 ,
10 ,
'2023-09-22' ,
8704051853058 );
indsætte
ind i
produkter (produktnavn,
kategori,
pris,
antal,
udløbsdato,
stregkode)
værdier ( 'Pære - stikkende' ,
'bageri' ,
65,29 ,
48 ,
'23-08-2023' ,
5174927442238 );
indsætte
ind i
produkter (produktnavn,
kategori,
pris,
antal,
udløbsdato,
stregkode)
værdier ( 'Pasta - Angel Hair' ,
'spisekammer' ,
48,38 ,
59 ,
'2023-08-05' ,
8008123704782 );
Dette skulle give os en tabel som følger:
Eksempel 1: Slet en enkelt række
Den mest grundlæggende sletningsoperation er at fjerne en enkelt række fra tabellen. Til det kan du bruge kolonnen med den unikke værdi, der identificerer målrækken.
For eksempel, hvis vi ønsker at fjerne rækken 'Svinekød - Skulder', som har et ID på 9, kan vi bruge klausulen som følger:
SLETFRA
Produkter
HVOR
produkt_id = 9 ;
Dette skulle blot fjerne rækken med ID-nummeret 9. Da kolonnen 'product_id' er en primær nøgle, bør der kun være én række med denne værdi.
Eksempel 2: Slet flere rækker
For at slette flere rækker kan vi indstille betingelsen for målrækkerne ved hjælp af WHERE-sætningen. Vi kan bruge de betingede operatorer såsom IN, NOT IN, LIKE osv.
Antag for eksempel, at vi ønsker at fjerne alle rækkerne i spisekammeret og producere kategorier. Vi kan bruge forespørgslen som følger:
SLETFRA
Produkter
HVOR
kategori IN ( 'fremstille' , 'bageri' );
Dette bør matche værdierne 'producer' og 'bageri' i kolonnen 'kategori' og fjerne alle rækker, der matcher denne betingelse.
Konklusion
I denne øvelse lærte vi alt om DELETE-sætningen, som giver os mulighed for at fjerne en eller flere rækker fra en given databasetabel.