PostgreSQL IZBRIĆ I retke iz odabranog
⥠Pametni saĆŸetak
PostgreSQL Naredba DELETE uklanja jedan ili viĆĄe redaka iz tablice, a uparivanje s klauzulom WHERE cilja samo na zapise koji odgovaraju uvjetu, dok izostavljanje naredbe WHERE briĆĄe svaki redak u tablici.

IzbriĆĄi upit u PostgreSQL
The Izjava DELETE in PostgreSQL koristi se za brisanje jednog ili viĆĄe zapisa iz tablice. Za brisanje samo odabranih redaka iz tablice, PostgreSQL omoguÄuje kombiniranje naredbe DELETE s klauzulom WHERE; u suprotnom briĆĄe sve zapise u tablici.
PostgreSQL Sintaksa upita za brisanje
Naredba DELETE moĆŸe se definirati pomoÄu sljedeÄe sintakse:
[ 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] [, ...] ]
Parametri
Dostupni su sljedeÄi parametri:
- s upitom: klauzula WITH vam omoguÄuje pozivanje na jedan ili viĆĄe podupita po imenu unutar upita DELETE.
- naziv tablice: naziv tablice iz koje se briĆĄu zapisi.
- pseudonim: zamjena za naziv ciljne tablice.
- popis-using: izrazi tablice koji omoguÄuju koriĆĄtenje stupaca iz drugih tablica u klauzuli WHERE.
- stanje(a): neobavezno. Ovo su uvjeti koji moraju biti ispunjeni da bi se zapisi izbrisali. Ako ovaj odjeljak nije naveden, svi zapisi s nazivima tablica bit Äe izbrisani.
- naziv-kurzora: kursor koji Äe se koristiti u uvjetu WHERE CURRENT OF. Posljednji redak koji je ovaj kursor dohvatio bit Äe izbrisan.
- izlazni izrazizraz koji Äe se obraditi i vratiti naredbom DELETE nakon brisanja svakog retka.
- izlazni naziv: naziv koji Äe se koristiti za vraÄeni stupac.
Imajte na umu da buduÄi da naredba DELETE briĆĄe cijeli redak, ne morate navoditi nazive stupaca.
PostgreSQL Brisanje upita s jednim uvjetom
Naredba DELETE moĆŸe se koristiti s jednim uvjetom, koji se postavlja pomoÄu klauzule WHERE. Razmotrimo tablicu Price sa sljedeÄim podacima:
Cijena:
IzbriĆĄimo zapis s ID-om 4:
DELETE FROM Price WHERE id = 4;
Gornja naredba briĆĄe zapise u kojima je ID 4. Potvrdimo je li brisanje bilo uspjeĆĄno:
Redak s ID-om 4 je izbrisan.
Brisanje upita s dva uvjeta
The PostgreSQL Naredba DELETE takoÄer moĆŸe imati dva uvjeta. Dva uvjeta treba spojiti pomoÄu operatora AND. Koristit Äemo sljedeÄu tablicu:
Cijena:
Razmotrite primjer u nastavku:
DELETE FROM Price WHERE id = 3 AND price = 300;
U gornjoj naredbi briĆĄemo redak u kojem je ID 3, a cijena 300. Sada moĆŸemo upitati tablicu:
SELECT * FROM Price;
Ovo vraÄa sljedeÄe:
Zapis s id-om 3 i cijenom 300 je izbrisan.
PostgreSQL Brisanje upita pomoÄu uvjeta EXISTS
Uz POSTOJI uvjet, moĆŸete uÄiniti DELETE sloĆŸenijim. Ponekad moĆŸe postojati potreba za brisanjem zapisa u jednoj tablici na temelju zapisa u drugoj tablici.
BuduÄi da klauzula FROM ne dopuĆĄta popisivanje zapisa iz viĆĄe od jedne tablice prilikom brisanja, klauzula EXISTS postaje vrlo korisna. Imamo sljedeÄe dvije tablice:
Rezervirati:
Cijena:
Zatim moĆŸemo pokrenuti sljedeÄi upit:
DELETE FROM Book WHERE EXISTS (SELECT 1 FROM Price WHERE Price.id = Book.id AND price < 250 );
Naredba briĆĄe retke iz tablice Knjiga koji imaju odgovarajuÄi ID u tablici Cijena s cijenom ispod 250.
Tablica knjiga je sada sljedeÄa:
Zapis s ID-om 1 je izbrisan.
Kako izbrisati redak u PostgreSQL koristeÄi pgAdmin
Isti upiti za brisanje mogu se vizualno pokrenuti i putem pgAdmin suÄelja, slijedeÄi sljedeÄe korake:
Uz jedan uvjet
Korak 1) Prijavite se na svoj pgAdmin raÄun. Otvorite pgAdmin i prijavite se na svoj raÄun koristeÄi svoje vjerodajnice.
Korak 2) Izradite demo bazu podataka.
- Na navigacijskoj traci s lijeve strane kliknite Baze podataka.
- Pritisnite Demo.
Korak 3) Unesite upit u nastavku u ureÄivaÄ upita:
DELETE FROM Price WHERE id = 4;
Korak 4) Pritisnite gumb IzvrĆĄi.
Korak 5) Provjerimo je li redak izbrisan:
Uz dva uvjeta
Korak 1) Prijavite se na svoj pgAdmin raÄun.
Korak 2)
- Na navigacijskoj traci s lijeve strane kliknite Baze podataka.
- Pritisnite Demo.
Korak 3) Unesite upit u ureÄivaÄ upita:
DELETE FROM Price WHERE id = 3 AND price = 300;
Korak 4) Pritisnite gumb IzvrĆĄi.
Korak 5) Provjerimo je li brisanje uspjeĆĄno:
KoriĆĄtenje uvjeta POSTOJI
Korak 1) Prijavite se na svoj pgAdmin raÄun.
Korak 2)
- Na navigacijskoj traci s lijeve strane kliknite Baze podataka.
- Pritisnite Demo.
Korak 3) Unesite upit u ureÄivaÄ upita:
DELETE FROM Book WHERE EXISTS (SELECT 1 FROM Price WHERE Price.id = Book.id AND price < 250 );
Korak 4) Pritisnite gumb IzvrĆĄi.
Korak 5) Provjerimo je li brisanje uspjeĆĄno:
Preuzmite bazu podataka koriĆĄtenu u ovom vodiÄu
















