PostgreSQL Poista kysely (poista rivit valinnasta)

Poista kysely sisään PostgreSQL

- Poista lausunto in PostgreSQL käytetään joko yhden tai useamman tietueen poistamiseen taulukosta. Jos haluat poistaa, valitse rivit taulukosta PostgreSQL voit yhdistää DELETE-käskyn WHERE-lauseeseen, muuten se poistaa kaikki tietueet.

Postgres Poista kyselyn syntaksi

DELETE-käsky voidaan määrittää alla olevalla syntaksilla:

[ 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] [, ...] ]

parametrit

  • kyselyn kanssa: WITH-lause antaa meille mahdollisuuden viitata yhteen tai useampaan alikyselyyn, johon viitataan nimellä DELETE-kyselyssä.
  • taulukon nimi: sen taulukon nimi, josta tietueet poistetaan.
  • alias: tämä korvaa kohdetaulukon nimen.
  • using-list: taulukkolausekkeet, jotka sallivat muiden taulukoiden sarakkeiden käytön WHERE-lauseessa.
  • ehto(t): valinnainen. Nämä ovat ehdot, jotka on täytettävä, jotta tietueita voidaan poistaa. Jos tätä osaa ei ole annettu, kaikki taulukon nimitietueet poistetaan.
  • kohdistimen nimi: kohdistin, jota käytetään WHERE CURRENT OF -tilassa. Tällä kohdistimella viimeksi haettu rivi poistetaan.
  • lähtö-ilmaisu: lauseke, joka käsitellään ja palautetaan DELETE-käskyllä ​​jokaisen rivin poistamisen jälkeen.
  • lähtönimi: palautetussa sarakkeessa käytettävä nimi.

Huomaa, että koska DELETE-käsky poistaa koko rivin, sinun ei tarvitse määrittää sarakkeiden nimiä.

PostgreSQL Poista kysely yhdellä ehdolla

DELETE-käskyä voidaan käyttää yhden ehdon kanssa. Ehto asetetaan WHERE-lauseella. Harkitse hintataulukkoa, jossa on seuraavat tiedot:

Hinta

PostgreSQL Poista kysely yhdellä ehdolla

Poistetaan tietue, jonka tunnus on 4:

DELETE FROM Price
WHERE id = 4;

Yllä oleva komento poistaa tietueet, joissa id on 4. Varmistetaan, onnistuiko poisto:

PostgreSQL Poista kysely yhdellä ehdolla

Rivi, jonka tunnus on 4, on poistettu.

Poista kysely kahdella ehdolla

- PostgreSQL DELETE-lauseessa voi olla kaksi ehtoa. Nämä kaksi ehtoa tulee yhdistää AND-operaattorilla. Käytämme seuraavaa taulukkoa:

Hinta:

PostgreSQL Poista kysely kahdella ehdolla

Harkitse alla olevaa esimerkkiä:

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

Yllä olevassa komennossa poistamme rivin, jossa id on 3 ja hinta on 300. Nyt voimme tehdä kyselyn taulukosta:

SELECT * FROM Price

Tämä palauttaa seuraavat:

PostgreSQL Poista kysely kahdella ehdolla

Tietue, jonka tunnus oli 3 ja hinta 300, poistettiin.

PostgreSQL Poista kysely käyttämällä olemassa olevaa ehtoa

EXISTS-ehdon avulla voit tehdä DELETE-toiminnosta monimutkaisempaa. Joskus saattaa olla tarpeen poistaa tietueita yhdestä taulukosta toisen taulukon tietueiden perusteella.

Huomaat, että FROM-lause ei salli sinun listata tietueita useammasta kuin yhdestä taulukosta poistoa suoritettaessa. EXISTS-lauseesta tulee erittäin hyödyllinen. Meillä on seuraavat kaksi taulukkoa:

Kirja:

PostgreSQL Poista kysely käyttämällä olemassa olevaa ehtoa

Hinta:

PostgreSQL Poista kysely käyttämällä olemassa olevaa ehtoa

Voimme sitten suorittaa seuraavan kyselyn:

DELETE FROM Book
WHERE EXISTS
  (SELECT 1
    FROM Price
    WHERE Price.id = Book.id
    AND price < 250 );

Yllä oleva komento poistaa Kirja-taulukosta, jos hintataulukossa on tietue, jonka tunnus vastaa Kirja-taulukon tunnusta ja jonka hinta on alle 250.

Kirjataulukko on nyt seuraavanlainen:

PostgreSQL Poista kysely käyttämällä olemassa olevaa ehtoa

Tietue, jonka tunnus on 1, poistettiin.

Kuinka poistaa rivi PostgreSQL pgAdminin avulla

Seuraavassa on vaiheet rivin poistamiseksi PostgreSQL pgAdminin avulla:

Yhdellä ehdolla

Suorita sama pgAdminin kautta seuraavasti:

Vaihe 1) Kirjaudu pgAdmin-tilillesi

Avaa pgAdmin ja kirjaudu sisään tilillesi tunnuksillasi

Vaihe 2) Luo esittelytietokanta

  1. Valitse vasemmalla olevasta navigointipalkista Tietokannat.
  2. Napsauta Demo.

Poista rivi sisään PostgreSQL

Vaihe 3) Kirjoita kysely

Kirjoita alla oleva kysely kyselyeditoriin:

DELETE FROM Price
WHERE id = 4;

Vaihe 4) Suorita kysely

Napsauta Suorita-painiketta

Poista rivi sisään PostgreSQL

Vaihe 5) Tarkista, onko rivi poistettu

Tarkistamme, onnistuiko poistaminen:

Poista rivi sisään PostgreSQL

Kahdella ehdolla

Suorita sama pgAdminin kautta seuraavasti:

Vaihe 1) Kirjaudu sisään pgAdmin-tilillesi.

Vaihe 2)

  1. Valitse vasemmalla olevasta navigointipalkista Tietokannat.
  2. Napsauta Demo.

Poista rivi sisään PostgreSQL

Vaihe 3) Kirjoita kysely kyselyeditoriin:

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

Vaihe 4) Napsauta Suorita-painiketta.

Poista rivi sisään PostgreSQL

Vaihe 5) Tarkistamme, onnistuiko poistaminen:

Poista rivi sisään PostgreSQL

Käytetään EXISTS-ehtoa

Suorita sama pgAdminin kautta seuraavasti:

Vaihe 1) Kirjaudu sisään pgAdmin-tilillesi.

Vaihe 2)

  1. Valitse vasemmalla olevasta navigointipalkista Tietokannat.
  2. Napsauta Demo.

Poista rivi käyttämällä EXISTS-ehtoa

Vaihe 3) Kirjoita kysely kyselyeditoriin:

DELETE FROM Book
WHERE EXISTS
  (SELECT 1
    FROM Price
    WHERE Price.id = Book.id
    AND price < 250 );

Vaihe 4) Napsauta Suorita-painiketta.

Poista rivi käyttämällä EXISTS-ehtoa

Vaihe 5) Tarkistamme, onnistuiko poistaminen:

Poista rivi käyttämällä EXISTS-ehtoa

Yhteenveto

  • DELETE-käskyä käytetään yhden tai useamman tietueen poistamiseen taulukosta.
  • Jos haluat poistaa vain valitut rivit taulukosta, voit yhdistää DELETE-käskyn WHERE-lauseeseen.
  • Jos DELETE-lausetta käytetään ilman WHERE-lausetta, se poistaa kaikki tietueet taulukosta.
  • table-name -parametrilla voit lisätä taulukon nimen, josta tietueet poistetaan.
  • Voimme käyttää DELETE-käskyä yhdellä ehdolla, joka on määritetty WHERE-lauseella.
  • DELETE-käskyä voidaan käyttää myös kahdella WHERE-lauseessa määritellyllä ehdolla. Nämä kaksi ehtoa tulee yhdistää AND-operaattorilla.
  • - EXISTS ehto voi auttaa meitä poistamaan tietueita taulukosta toisen taulukon tietueiden perusteella.

Lataa tässä opetusohjelmassa käytetty tietokanta