PostgreSQL Kustuta read valikust
⚡ Nutikas kokkuvõte
PostgreSQL DELETE eemaldab tabelist ühe või mitu rida ning selle sidumine WHERE-klausliga sihtib ainult tingimusele vastavaid kirjeid, WHERE-klausli väljajätmine aga tühjendab tabeli kõik read.

Kustuta päring PostgreSQL
. Kustutuslause in PostgreSQL kasutatakse ühe või mitme kirje kustutamiseks tabelist. Ainult valitud ridade kustutamiseks tabelist PostgreSQL võimaldab DELETE-lause kombineerida WHERE-klausliga; vastasel juhul kustutab see kõik tabeli kirjed.
PostgreSQL Kustuta päringu süntaks
DELETE-lause saab defineerida järgmise süntaksi abil:
[ WITH [ RECURSIVE ] with-query [, ...] ] DELETE FROM [ ONLY ] table-name [ * ] [ [ AS ] alias ] [ USING using-list ] [ WHERE condition(s) | WHERE CURRENT OF cursor-name] [ RETURNING * | output-expression [ [ AS ] output-name] [, ...] ]
parameetrid
Saadaval on järgmised parameetrid:
- päringugaWITH-klausel võimaldab teil DELETE-päringus viidata ühele või mitmele alampäringule nime järgi.
- tabeli nimi: tabeli nimi, millest kirjed kustutatakse.
- alias: sihttabeli nime asendaja.
- kasutades-list: tabeliavaldised, mis lubavad WHERE-klauslis kasutada teiste tabelite veerge.
- seisund(id): valikuline. Need on tingimused, mis peavad olema täidetud kirjete kustutamiseks. Kui seda jaotist ei täideta, kustutatakse kõik tabelinimega kirjed.
- kursori nimi: kursor, mida kasutatakse tingimuses WHERE CURRENT OF. Selle kursori poolt viimati laetud rida kustutatakse.
- väljund-väljendus: avaldis, mida DELETE-lause töötleb ja tagastab pärast iga rea kustutamist.
- väljundi nimi: tagastatud veeru jaoks kasutatav nimi.
Pane tähele, et kuna DELETE-käsk kustutab terve rea, ei pea sa veerunimesid määrama.
PostgreSQL Kustuta päring ühe tingimusega
DELETE-lauset saab kasutada ühe tingimusega, mis määratakse WHERE-klausli abil. Vaatleme järgmiste andmetega tabelit Price:
Hind:
Kustutame kirje ID-ga 4:
DELETE FROM Price WHERE id = 4;
Ülaltoodud käsk kustutab kirjed, mille ID on 4. Kontrollime, kas kustutamine õnnestus:
Rida, mille ID on 4, on kustutatud.
Kustutage päring kahe tingimusega
. PostgreSQL DELETE-lause saab samuti võtta kaks tingimust. Need kaks tingimust tuleks ühendada AND-operaatoriga. Kasutame järgmist tabelit:
Hind:
Mõelge allpool toodud näitele:
DELETE FROM Price WHERE id = 3 AND price = 300;
Ülaltoodud käsus kustutame rea, kus ID on 3 ja hind on 300. Nüüd saame tabelit pärida:
SELECT * FROM Price;
See tagastab järgmise:
Kirje id-ga 3 ja hinnaga 300 kustutati.
PostgreSQL Kustuta päring tingimuse EXISTS abil
Koos OLEMAS tingimuse korral saate kustutamise keerukamaks muuta. Mõnikord võib tekkida vajadus kustutada ühe tabeli kirjeid teise tabeli kirjete põhjal.
Kuna FROM-klausel ei luba kustutamisel loetleda kirjeid rohkem kui ühest tabelist, on EXISTS-klausel väga kasulik. Meil on järgmised kaks tabelit:
Raamat:
Hind:
Seejärel saame käivitada järgmise päringu:
DELETE FROM Book WHERE EXISTS (SELECT 1 FROM Price WHERE Price.id = Book.id AND price < 250 );
Käsk kustutab Book tabelist read, millel on hinnatabelis vastav ID, mille hind on alla 250.
Raamatute tabel on nüüd järgmine:
Kirje ID-ga 1 kustutati.
Kuidas rida kustutada PostgreSQL kasutades pgAdminit
Samu kustutuspäringuid saab käivitada ka visuaalselt pgAdmin liidese kaudu, järgides alltoodud samme:
Ühe tingimusega
Step 1) Logige sisse oma pgAdmini kontole. Avage pgAdmin ja logige oma kontole sisse oma sisselogimisandmetega.
Step 2) Loo demo andmebaas.
- Klõpsake vasakpoolsel navigeerimisribal valikul Andmebaasid.
- Klõpsake Demo.
Step 3) Tippige päringuredaktorisse allolev päring:
DELETE FROM Price WHERE id = 4;
Step 4) Klõpsake nuppu Käivita.
Step 5) Kontrollime, kas rida on kustutatud:
Kahe tingimusega
Step 1) Logige sisse oma pgAdmini kontole.
Step 2)
- Klõpsake vasakpoolsel navigeerimisribal valikul Andmebaasid.
- Klõpsake Demo.
Step 3) Sisestage päring päringuredaktorisse:
DELETE FROM Price WHERE id = 3 AND price = 300;
Step 4) Klõpsake nuppu Käivita.
Step 5) Kontrollime, kas kustutamine õnnestus:
Kasutades tingimust EXISTS
Step 1) Logige sisse oma pgAdmini kontole.
Step 2)
- Klõpsake vasakpoolsel navigeerimisribal valikul Andmebaasid.
- Klõpsake Demo.
Step 3) Sisestage päring päringuredaktorisse:
DELETE FROM Book WHERE EXISTS (SELECT 1 FROM Price WHERE Price.id = Book.id AND price < 250 );
Step 4) Klõpsake nuppu Käivita.
Step 5) Kontrollime, kas kustutamine õnnestus:
Laadige alla selles õpetuses kasutatud andmebaas
















