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
Poistetaan tietue, jonka tunnus on 4:
DELETE FROM Price WHERE id = 4;
Yllä oleva komento poistaa tietueet, joissa id on 4. Varmistetaan, onnistuiko poisto:
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:
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:
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:
Hinta:
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:
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
- Valitse vasemmalla olevasta navigointipalkista Tietokannat.
- Napsauta Demo.
Vaihe 3) Kirjoita kysely
Kirjoita alla oleva kysely kyselyeditoriin:
DELETE FROM Price WHERE id = 4;
Vaihe 4) Suorita kysely
Napsauta Suorita-painiketta
Vaihe 5) Tarkista, onko rivi poistettu
Tarkistamme, onnistuiko poistaminen:
Kahdella ehdolla
Suorita sama pgAdminin kautta seuraavasti:
Vaihe 1) Kirjaudu sisään pgAdmin-tilillesi.
Vaihe 2)
- Valitse 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
Suorita sama pgAdminin kautta seuraavasti:
Vaihe 1) Kirjaudu sisään pgAdmin-tilillesi.
Vaihe 2)
- Valitse 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:
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