PostgreSQL POISTA rivit Valitusta
⚡ Älykäs yhteenveto
PostgreSQL DELETE poistaa yhden tai useamman rivin taulukosta, ja sen yhdistäminen WHERE-lausekkeeseen kohdistuu vain ehtoa vastaaviin tietueisiin, kun taas WHERE-lauseen pois jättäminen tyhjentää kaikki taulukon rivit.

Poista kysely sisään PostgreSQL
DELETE-lauseke in PostgreSQL käytetään yhden tai useamman tietueen poistamiseen taulukosta. Jos haluat poistaa vain valitut rivit taulukosta, PostgreSQL mahdollistaa DELETE-lauseen yhdistämisen WHERE-lausekkeeseen; muuten se poistaa kaikki taulukon tietueet.
PostgreSQL Poista kyselyn syntaksi
DELETE-lauseke voidaan määritellä alla olevan syntaksin avulla:
[ 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
Seuraavat parametrit ovat käytettävissä:
- kyselyn kanssaWITH-lausekkeen avulla voit viitata yhteen tai useampaan alikyselyyn nimellä DELETE-kyselyn sisällä.
- taulukon nimi: sen taulukon nimi, josta tietueet poistetaan.
- alias: kohdetaulukon nimen korvike.
- using-list: taulukkolausekkeet, jotka sallivat muiden taulukoiden sarakkeiden käytön WHERE-lausekkeessa.
- ehto(t): valinnainen. Nämä ehdot on täytettävä, jotta tietueet voidaan poistaa. Jos tätä osiota ei täytetä, kaikki taulukon nimitietueet poistetaan.
- kohdistimen nimi: WHERE CURRENT OF -ehdossa käytettävä kohdistin. Tämän kohdistimen viimeinen noutama rivi poistetaan.
- lähtö-ilmaisu: lauseke, jonka DELETE-lauseke käsittelee ja palauttaa jokaisen rivin poistamisen jälkeen.
- lähtönimi: palautetussa sarakkeessa käytettävä nimi.
Huomaa, että koska DELETE-lauseke poistaa koko rivin, sarakenimiä ei tarvitse määrittää.
PostgreSQL Poista kysely yhdellä ehdolla
DELETE-lauseketta voidaan käyttää yhden ehdon kanssa, joka asetetaan WHERE-lausekkeella. Tarkastellaan Price-taulukkoa seuraavilla tiedoilla:
Hinta:
Poistetaan tietue, jonka tunnus on 4:
DELETE FROM Price WHERE id = 4;
Yllä oleva komento poistaa tietueet, joiden id on 4. Vahvistetaan, onnistuiko poisto:
Rivi, jonka tunnus on 4, on poistettu.
Poista kysely kahdella ehdolla
PostgreSQL DELETE-lauseke voi myös ottaa kaksi ehtoa. Ehto tulee yhdistää AND-operaattorilla. Käytämme seuraavaa taulukkoa:
Hinta:
Harkitse alla olevaa esimerkkiä:
DELETE FROM Price WHERE id = 3 AND price = 300;
Yllä olevassa komennossa poistamme rivin, jonka tunnus on 3 ja hinta on 300. Voimme nyt tehdä kyselyn taulukosta:
SELECT * FROM Price;
Tämä palauttaa seuraavan:
Tietue, jonka tunnus oli 3 ja hinta 300, poistettiin.
PostgreSQL Poista kysely käyttämällä EXISTS-ehtoa
Kanssa EXISTS ehdon, voit tehdä POISTAMISESTA monimutkaisemman. Joskus voi olla tarpeen poistaa tietueita yhdestä taulukosta toisen taulukon tietueiden perusteella.
Koska FROM-lauseke ei salli useamman kuin yhden taulukon tietueiden listaamista poistoa suoritettaessa, EXISTS-lauseke on erittäin hyödyllinen. Meillä on seuraavat kaksi taulukkoa:
Kirja:
Hinta:
Voimme sitten suorittaa seuraavan kyselyn:
DELETE FROM Book WHERE EXISTS (SELECT 1 FROM Price WHERE Price.id = Book.id AND price < 250 );
Komento poistaa Book-taulukosta rivit, joilla on vastaava tunnus Price-taulukossa, jonka hinta on alle 250.
Kirjataulukko on nyt seuraavanlainen:
Tietue, jonka tunnus on 1, poistettiin.
Rivin poistaminen PostgreSQL pgAdminin avulla
Samat poistokyselyt voidaan suorittaa myös visuaalisesti pgAdmin-käyttöliittymän kautta noudattamalla seuraavia ohjeita:
Yhdellä ehdolla
Vaihe 1) Kirjaudu pgAdmin-tilillesi. Avaa pgAdmin ja kirjaudu tilillesi tunnuksillasi.
Vaihe 2) Luo demotietokanta.
- Napsauta vasemmalla olevasta navigointipalkista Tietokannat.
- Napsauta Demo.
Vaihe 3) Kirjoita alla oleva kysely kyselyeditoriin:
DELETE FROM Price WHERE id = 4;
Vaihe 4) Napsauta Suorita-painiketta.
Vaihe 5) Tarkistetaan, onko rivi poistettu:
Kahdella ehdolla
Vaihe 1) Kirjaudu sisään pgAdmin-tilillesi.
Vaihe 2)
- Napsauta vasemmalla olevasta navigointipalkista Tietokannat.
- Napsauta Demo.
Vaihe 3) Kirjoita kysely kyselyeditoriin:
DELETE FROM Price WHERE id = 3 AND price = 300;
Vaihe 4) Napsauta Suorita-painiketta.
Vaihe 5) Tarkistamme, onnistuiko poistaminen:
Käytetään EXISTS-ehtoa
Vaihe 1) Kirjaudu sisään pgAdmin-tilillesi.
Vaihe 2)
- Napsauta vasemmalla olevasta navigointipalkista Tietokannat.
- Napsauta Demo.
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.
Vaihe 5) Tarkistamme, onnistuiko poistaminen:
Lataa tässä opetusohjelmassa käytetty tietokanta
















