PostgreSQL Kustuta päring (Kustuta read valikust)
Kustuta päring PostgreSQL
. Kustuta avaldus in PostgreSQL kasutatakse ühe või mitme kirje kustutamiseks tabelist. Kui soovite kustutada, valige tabelist read PostgreSQL võimaldab kombineerida DELETE-lause klausliga WHERE, muidu kustutab see kõik kirjed.
Postgres Kustuta päringu süntaks
DELETE-lause saab määratleda järgmise süntaksiga:
[ 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
- päringuga: klausel WITH võimaldab meil viidata ühele või mitmele alampäringule, millele viidatakse nime järgi päringus DELETE.
- tabeli nimi: tabeli nimi, millest kirjed kustutatakse.
- alias: see asendab sihttabeli nime.
- using-list: tabeliavaldised, mis võimaldavad WHERE-klauslis kasutada teiste tabelite veerge.
- tingimus(ed): valikuline. Need on tingimused, mis peavad olema kirjete kustutamiseks täidetud. Kui seda jaotist ei esitata, kustutatakse kõik tabelinime kirjed.
- kursori nimi: kursor, mida kasutatakse tingimusel WHERE CURRENT OF. Selle kursori poolt viimati toodud rida kustutatakse.
- väljund-väljendus: avaldis, mida töödeldakse ja tagastatakse DELETE-lausega pärast iga rea kustutamist.
- väljundi nimi: tagastatud veeru jaoks kasutatav nimi.
Pange tähele, et kuna käsk DELETE kustutab kogu rea, ei pea te veergude nimesid määrama.
PostgreSQL Kustuta päring ühe tingimusega
DELETE-lauset saab kasutada ühe tingimusega. Tingimus määratakse WHERE-klausli abil. Vaadake hinnatabelit järgmiste andmetega:
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 avaldusel võib olla kaks tingimust. Need kaks tingimust tuleks ühendada operaatori JA abil. Kasutame järgmist tabelit:
Hind:
Mõelge allpool toodud näitele:
DELETE FROM Price WHERE id = 3Y AND price = 300;
Ülaltoodud käsus kustutame rea, kus id on 3 ja hind on 300. Nüüd saame tabelist päringu teha:
SELECT * FROM Price
See tagastab järgmise:
Kirje id-ga 3 ja hinnaga 300 kustutati.
PostgreSQL Kustutage päring olemasoleva tingimuse abil
Tingimusega EXISTS saate käsu DELETE keerulisemaks muuta. Mõnikord võib tekkida vajadus kustutada ühes tabelis olevad kirjed, võttes aluseks teise tabelis olevad kirjed.
Näete, et FROM-klausel ei luba kustutamise ajal kirjeid rohkem kui ühest tabelist loetleda, EXISTS-klausel muutub väga kasulikuks. Meil on kaks järgmist 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 );
Ülaltoodud käsk kustutab tabelist Book, kus hinnatabelis on kirje, mille ID kattub tabeli Book ID-ga ja hind on väiksem kui 250.
Raamatute tabel on nüüd järgmine:
Kirje ID-ga 1 kustutati.
Kuidas rida kustutada PostgreSQL kasutades pgAdminit
Järgmised juhised rea kustutamiseks PostgreSQL pgAdmini abil:
Ühe tingimusega
Sama tegemiseks pgAdmini kaudu tehke järgmist:
Samm 1) Logige sisse oma pgAdmini kontole
Avage pgAdmin ja logige oma mandaatide abil oma kontole sisse
2. samm) looge demo andmebaas
- Vasakpoolsel navigeerimisribal klõpsake nuppu Andmebaasid.
- Klõpsake Demo.
Samm 3) Tippige päring
Tippige päringuredaktorisse allolev päring:
DELETE FROM Price WHERE id = 4;
Samm 4) Käivitage päring
Klõpsake nuppu Käivita
Samm 5) Kontrollige, kas rida on kustutatud
Kontrollime, kas kustutamine õnnestus:
Kahe tingimusega
Sama tegemiseks pgAdmini kaudu tehke järgmist:
Step 1) Logige sisse oma pgAdmini kontole.
Step 2)
- Vasakpoolsel navigeerimisribal klõpsake nuppu 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
Sama tegemiseks pgAdmini kaudu tehke järgmist:
Step 1) Logige sisse oma pgAdmini kontole.
Step 2)
- Vasakpoolsel navigeerimisribal klõpsake nuppu 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:
kokkuvõte
- DELETE-lauset kasutatakse ühe või mitme kirje kustutamiseks tabelist.
- Tabelist ainult valitud ridade kustutamiseks saate kombineerida DELETE-lause klausliga WHERE.
- Kui DELETE-klauslit kasutatakse ilma WHERE-klauslita, kustutab see tabelist kõik kirjed.
- parameeter table-name võimaldab lisada tabeli nime, millest kirjed kustutatakse.
- DELETE-lauset saame kasutada ühe tingimusega, mis on määratud WHERE-klausli abil.
- DELETE-lauset saab kasutada ka kahe WHERE-klauslis määratud tingimusega. Need kaks tingimust tuleks ühendada operaatori JA abil.
- . OLEMAS tingimus võib aidata meil kustutada kirjeid tabelist teise tabeli kirjete põhjal.
Laadige alla selles õpetuses kasutatud andmebaas