Selles õpetuses vaatleme SQL-i käsku DELETE, et saada teada, kuidas saame seda kasutada tabelist olemasoleva rea kustutamiseks.
KUSTUTA avaldus
Järgmine näitab DELETE-lause süntaksit SQL-is:
KUSTUTA
FROM
tabeli_nimi
KUS
seisund;
Alustame DELETE-klausliga, et anda andmebaasimootorile teada, et soovime rea või mitu rida eemaldada.
Seejärel määrame tabeli nime, millest soovime ridu eemaldada. Järgmisena täpsustame tingimuse klauslis WHERE. See on oluline klausel, kuna see võimaldab meil kitsendada, milliseid konkreetseid ridu soovime eemaldada.
Kui jätame WHERE-klausli välja, eemaldab avaldus määratud tabelist kõik read. Kasutage ettevaatlikult.
Seejärel tagastab avaldus tabelist kustutatud ridade arvu.
Näidistabel
Enne DELETE-lause kasutamise näidete käsitlemist loome tutvustamise eesmärgil põhitabeli.
CREATE TABLE avaldus on järgmine:
CREATE TABLE tooted (product_id INT PRIMARY KEY AUTO_INCREMENT,
toote_nimi VARCHAR( 255 ),
kategooria VARCHAR( 255 ),
hind DECIMAAL( 10 , 2 ),
kogus INT,
expiration_date DATE,
vöötkood BIGINT
);
Kui oleme tabeli loonud, saame näidisandmed tabelisse sisestada, nagu on näidatud järgmistes lisalausetes:
sisestadasisse
tooted (toote_nimi,
kategooria,
hind,
kogus,
expiration_date,
vöötkood)
väärtused ( 'koka müts 25 cm' ,
'pagariäri' ,
24.67 ,
57 ,
'2023-09-09' ,
2854509564204 );
sisestada
sisse
tooted (toote_nimi,
kategooria,
hind,
kogus,
expiration_date,
vöötkood)
väärtused ( 'Vutimunad – konserveeritud' ,
'sahver' ,
17.99 ,
67 ,
'2023-09-29' ,
1708039594250 );
sisestada
sisse
tooted (toote_nimi,
kategooria,
hind,
kogus,
expiration_date,
vöötkood)
väärtused ( 'Kohv – munanoog capuccino' ,
'pagariäri' ,
92,53 ,
10 ,
'2023-09-22' ,
8704051853058 );
sisestada
sisse
tooted (toote_nimi,
kategooria,
hind,
kogus,
expiration_date,
vöötkood)
väärtused ( 'Pirn – kipitav' ,
'pagariäri' ,
65,29 ,
48 ,
'2023-08-23' ,
5174927442238 );
sisestada
sisse
tooted (toote_nimi,
kategooria,
hind,
kogus,
expiration_date,
vöötkood)
väärtused ( 'Pasta – inglijuuksed' ,
'sahver' ,
48.38 ,
59 ,
'2023-08-05' ,
8008123704782 );
See peaks andma meile järgmise tabeli:
Näide 1: ühe rea kustutamine
Kõige elementaarsem kustutamistoiming on tabelist ühe rea eemaldamine. Selleks saate kasutada unikaalse väärtusega veergu, mis identifitseerib sihtrea.
Näiteks kui tahame eemaldada rea „Sealiha – abatükk”, mille ID on 9, saame kasutada klauslit järgmiselt:
KUSTUTAFROM
tooted
KUS
toote_id = 9 ;
See peaks lihtsalt eemaldama rea ID-numbriga 9. Kuna veerg „product_id” on primaarvõti, peaks selle väärtusega olema ainult üks rida.
Näide 2: Kustuta mitu rida
Mitme rea kustutamiseks saame määrata sihtridade tingimuse WHERE-klausli abil. Saame kasutada tingimuslikke operaatoreid nagu IN, NOT IN, LIKE jne.
Oletame näiteks, et soovime eemaldada kõik sahvri read ja luua kategooriad. Päringut saame kasutada järgmiselt:
KUSTUTAFROM
tooted
KUS
kategooria IN ( 'tootma' , 'pagariäri' );
See peaks ühtima veeru „kategooria” väärtustega „toode” ja „pagariäri” ning eemaldama kõik sellele tingimusele vastavad read.
Järeldus
Selles õpetuses õppisime kõike DELETE-lause kohta, mis võimaldab meil antud andmebaasi tabelist ühe või mitu rida eemaldada.