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

PostgreSQL Kustuta päring ühe tingimusega

Kustutame kirje ID-ga 4:

DELETE FROM Price
WHERE id = 4;

Ülaltoodud käsk kustutab kirjed, mille ID on 4. Kontrollime, kas kustutamine õnnestus:

PostgreSQL Kustuta päring ühe tingimusega

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:

PostgreSQL Kustutage päring kahe tingimusega

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:

PostgreSQL Kustutage päring kahe tingimusega

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:

PostgreSQL Kustutage päring olemasoleva tingimuse abil

Hind:

PostgreSQL Kustutage päring olemasoleva tingimuse abil

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:

PostgreSQL Kustutage päring olemasoleva tingimuse abil

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

  1. Vasakpoolsel navigeerimisribal klõpsake nuppu Andmebaasid.
  2. Klõpsake Demo.

Kustuta rida sisse PostgreSQL

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

Kustuta rida sisse PostgreSQL

Samm 5) Kontrollige, kas rida on kustutatud

Kontrollime, kas kustutamine õnnestus:

Kustuta rida sisse PostgreSQL

Kahe tingimusega

Sama tegemiseks pgAdmini kaudu tehke järgmist:

Step 1) Logige sisse oma pgAdmini kontole.

Step 2)

  1. Vasakpoolsel navigeerimisribal klõpsake nuppu Andmebaasid.
  2. Klõpsake Demo.

Kustuta rida sisse PostgreSQL

Step 3) Sisestage päring päringuredaktorisse:

DELETE FROM Price
WHERE id = 3
AND price = 300;

Step 4) Klõpsake nuppu Käivita.

Kustuta rida sisse PostgreSQL

Step 5) Kontrollime, kas kustutamine õnnestus:

Kustuta rida sisse PostgreSQL

Kasutades tingimust EXISTS

Sama tegemiseks pgAdmini kaudu tehke järgmist:

Step 1) Logige sisse oma pgAdmini kontole.

Step 2)

  1. Vasakpoolsel navigeerimisribal klõpsake nuppu Andmebaasid.
  2. Klõpsake Demo.

Kustuta rida, kasutades tingimust EXISTS

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.

Kustuta rida, kasutades tingimust EXISTS

Step 5) Kontrollime, kas kustutamine õnnestus:

Kustuta rida, kasutades tingimust EXISTS

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