PostgreSQL Slett spørring (slett rader fra utvalg)
Slett spørring i PostgreSQL
Ocuco Slett erklæring in PostgreSQL brukes til å slette enten én eller flere poster fra en tabell. Hvis du ønsker å slette, velg rader fra en tabell PostgreSQL lar deg kombinere DELETE-setningen med WHERE-klausulen ellers vil den slette alle poster.
Postgres Slett spørringssyntaks
DELETE-setningen kan defineres av syntaksen nedenfor:
[ 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] [, ...] ]
Parametre
- med-spørring: WITH-klausulen lar oss referere til én eller flere underspørringer som skal refereres med navn i DELETE-spørringen.
- tabellnavn: navnet på tabellen som poster skal slettes fra.
- alias: dette er en erstatning for navnet på måltabellen.
- use-list: tabelluttrykk for å tillate at kolonner fra andre tabeller brukes i WHERE-leddet.
- tilstand(er): valgfri. Det er vilkårene som må være oppfylt for at poster skal slettes. Hvis denne delen ikke er oppgitt, vil alle tabellnavnposter bli slettet.
- markørnavn: markøren som skal brukes i tilstanden WHERE CURRENT OF. Den sist hentede raden ved denne markøren vil bli slettet.
- output-uttrykk: uttrykket som skal behandles og returneres av DELETE-setningen etter sletting av hver rad.
- output-navn: navnet som skal brukes for den returnerte kolonnen.
Merk at siden DELETE-setningen sletter hele raden, trenger du ikke spesifisere kolonnenavnene.
PostgreSQL Slett spørring med én betingelse
DELETE-setningen kan brukes med en enkelt betingelse. Betingelsen settes ved hjelp av WHERE-leddet. Vurder pristabellen med følgende data:
Pris
La oss slette posten med en id på 4:
DELETE FROM Price WHERE id = 4;
Kommandoen ovenfor vil slette postene der ID-en er 4. La oss bekrefte om slettingen var vellykket:
Raden med ID 4 er slettet.
Slett spørring med to betingelser
Ocuco PostgreSQL DELETE-setningen kan ha to betingelser. De to betingelsene bør kombineres ved hjelp av OG-operatoren. Vi vil bruke følgende tabell:
Pris:
Tenk på eksemplet nedenfor:
DELETE FROM Price WHERE id = 3Y AND price = 300;
I kommandoen ovenfor sletter vi raden der id-en er 3, og prisen er 300. Vi kan nå spørre tabellen:
SELECT * FROM Price
Dette returnerer følgende:
Posten med id 3 og pris 300 ble slettet.
PostgreSQL Slett spørring ved å bruke Exists Condition
Med EXISTS-tilstanden kan du gjøre DELETE mer kompleks. Noen ganger kan det være behov for å slette poster i én tabell basert på poster i en annen tabell.
Du vil se at FROM-klausulen ikke lar deg liste opp poster fra mer enn én tabell når du utfører sletting, EXISTS-klausulen blir veldig nyttig. Vi har følgende to tabeller:
Bok:
Pris:
Vi kan da kjøre følgende spørring:
DELETE FROM Book WHERE EXISTS (SELECT 1 FROM Price WHERE Price.id = Book.id AND price < 250 );
Kommandoen ovenfor vil slette fra boktabellen der det finnes en post i pristabellen med en id som samsvarer med boktabellen og prisen er mindre enn 250.
Boktabellen er nå som følger:
Posten med id 1 ble slettet.
Slik sletter du rad i PostgreSQL ved å bruke pgAdmin
Følgende er trinnene for å slette en rad i PostgreSQL bruker pgAdmin:
Med én betingelse
For å oppnå det samme gjennom pgAdmin, gjør dette:
Trinn 1) Logg på pgAdmin-kontoen din
Åpne pgAdmin og logg på kontoen din med legitimasjonen din
Trinn 2) Opprett en demodatabase
- Fra navigasjonslinjen til venstre klikker du på Databaser.
- Klikk på Demo.
Trinn 3) Skriv inn spørringen
Skriv inn søket nedenfor i spørringsredigeringsprogrammet:
DELETE FROM Price WHERE id = 4;
Trinn 4) Utfør spørringen
Klikk på Utfør-knappen
Trinn 5) Sjekk om raden er slettet
La oss sjekke om slettingen var vellykket:
Med to betingelser
For å oppnå det samme gjennom pgAdmin, gjør dette:
Trinn 1) Logg på pgAdmin-kontoen din.
Trinn 2)
- Fra navigasjonslinjen til venstre klikker du på Databaser.
- Klikk på Demo.
Trinn 3) Skriv inn søket i spørringsredigeringsprogrammet:
DELETE FROM Price WHERE id = 3 AND price = 300;
Trinn 4) Klikk på Utfør-knappen.
Trinn 5) La oss sjekke om slettingen var vellykket:
Bruker EXISTS Condition
For å oppnå det samme gjennom pgAdmin, gjør dette:
Trinn 1) Logg på pgAdmin-kontoen din.
Trinn 2)
- Fra navigasjonslinjen til venstre klikker du på Databaser.
- Klikk på Demo.
Trinn 3) Skriv inn søket i spørringsredigeringsprogrammet:
DELETE FROM Book WHERE EXISTS (SELECT 1 FROM Price WHERE Price.id = Book.id AND price < 250 );
Trinn 4) Klikk på Utfør-knappen.
Trinn 5) La oss sjekke om slettingen var vellykket:
Sammendrag
- DELETE-setningen brukes til å slette en eller flere poster fra en tabell.
- For å slette bare utvalgte rader fra en tabell, kan du kombinere DELETE-setningen med WHERE-leddet.
- Hvis DELETE-leddet brukes uten WHERE-leddet, sletter det alle poster fra tabellen.
- table-name parameter lar deg legge til navnet på tabellen som poster skal slettes fra.
- Vi kan bruke DELETE-setningen med én betingelse, spesifisert ved hjelp av WHERE-klausulen.
- DELETE-setningen kan også brukes med to betingelser spesifisert i WHERE-leddet. De to betingelsene bør kombineres ved hjelp av OG-operatoren.
- Ocuco Eksisterer condition kan hjelpe oss med å slette poster fra en tabell basert på postene til en annen tabell.
Last ned databasen som brukes i denne opplæringen