PostgreSQL Opprett visning med eksempel

Hva er PostgreSQL Utsikt?

In PostgreSQL, en visning er en pseudo-tabell. Dette betyr at en visning ikke er en ekte tabell. Vi kan imidlertid VELGE den som en vanlig tabell. En visning kan ha alle eller noen av tabellkolonnene. En visning kan også være en representasjon av mer enn én tabell.

Tabellene omtales som basistabeller. Når du oppretter en visning, trenger du bare å lage en spørring og deretter gi den et navn, noe som gjør den til et nyttig verktøy for å pakke sammen komplekse og ofte brukte spørringer.

Opprette PostgreSQL Visninger

Å opprette en PostgreSQL view, bruker vi CREATE VIEW-setningen. Her er syntaksen for denne uttalelsen:

CREATE [OR REPLACE] VIEW view-name AS
  SELECT column(s)
  FROM table(s)
  [WHERE condition(s)];

OR REPLACE-parameteren vil erstatte visningen hvis den allerede eksisterer. Hvis den utelates og visningen allerede eksisterer, vil en feil bli returnert.

View-name-parameteren er navnet på visningen du må opprette.

WHERE-betingelsene er alternativer, og de må være oppfylt for at en post skal legges til visningen.

Vurder pristabellen nedenfor:

Pris:

Opprette PostgreSQL Visninger

La oss lage en visning fra tabellen ovenfor:

CREATE VIEW Price_View AS
  SELECT id, price
  FROM Price
  WHERE price > 200;

Kommandoen ovenfor vil opprette en visning basert på SELECT-setning. Kun postene der prisen er høyere enn 200 vil bli lagt til visningen. Utsikten har fått navnet Price_View. La oss spørre den for å se innholdet:

SELECT *
FROM Price_View;

Dette returnerer følgende:

Opprette PostgreSQL Visninger

Selv om basistabellen har 4 poster, ble bare 2 lagt til i visningen.

Her kan vi bare legge til én kolonne i visningen. La oss lage en visning som bare inkluderer én kolonne i pristabellen:

CREATE VIEW Price_View2 AS
  SELECT price
  FROM Price
  WHERE price > 200;

Visningen har fått navnet Price_View2 og inkluderer kun priskolonnen i Pristabellen. La oss spørre visningen for å se innholdet:

SELECT *
FROM Price_View2;

Dette returnerer følgende:

Opprette PostgreSQL Visninger

Endre PostgreSQL Visninger

Definisjonen av en visning kan endres uten å måtte droppe den. Dette gjøres ved å bruke CREATE OR REPLACE VIEW-setningen.

La oss demonstrere dette ved å oppdatere visningen som heter Price_View2.

Pris_visning2:

Endre PostgreSQL Visninger

Boktabellen er som følger:

Bok:

Endre PostgreSQL Visninger

Pristabellen er som følger:

Pris:

Endre PostgreSQL Visninger

Følgende spørring vil hjelpe oss med å oppdatere visningen Price_View2:

CREATE or REPLACE VIEW Price_View2 AS
  SELECT price, name
  FROM Book
  INNER JOIN Price
  ON Book.id = Price.id
  WHERE price > 200;

La oss nå spørre visningen for å se innholdet:

Endre PostgreSQL Visninger

Visningen er endret, og nå har vi to kolonner fra to forskjellige tabeller. Dette er oppnådd ved hjelp av en JOIN-erklæring.

slette PostgreSQL Visninger

Når som helst du trenger å slette en PostgreSQL utsikt. Du kan bruke DROP VIEW-setningen. Her er syntaksen for setningen:

DROP VIEW [IF EXISTS] view-name;

Parameteren visningsnavn er navnet på visningen som skal slettes.

I denne syntaksen er IF EXISTS valgfritt. Det er bare nødvendig. Hvis du ikke spesifiserer det og prøver å slette en visning som ikke eksisterer, får du en feilmelding.

For å droppe visningen som heter Price_View2, kan vi for eksempel kjøre følgende setning:

DROP VIEW Price_View2;

Visningen vil bli slettet.

Bruker pgAdmin

La oss nå se hvordan disse handlingene kan utføres ved hjelp av pgAdmin.

Opprette PostgreSQL Visninger

For å oppnå det samme gjennom pgAdmin, gjør dette:

Trinn 1) Logg på pgAdmin-kontoen din.

Trinn 2)

  1. Fra navigasjonslinjen til venstre klikker du på Databaser.
  2. Klikk på Demo.

Opprette PostgreSQL Visninger ved hjelp av pgAdmin

Trinn 3) Skriv inn søket i spørringsredigeringsprogrammet:

CREATE VIEW Price_View AS
  SELECT id, price
  FROM Price
  WHERE price > 200;

Trinn 4) Klikk på Utfør-knappen.

Opprette PostgreSQL Visninger ved hjelp av pgAdmin

Trinn 5) Gjør følgende for å se innholdet i visningen:

  1. Skriv inn følgende kommando i spørringsredigeringsprogrammet:
  2. SELECT *
    FROM Price_View;
    
  3. Klikk på Utfør-knappen.

Opprette PostgreSQL Visninger ved hjelp av pgAdmin

Dette vil returnere følgende:

Opprette PostgreSQL Visninger ved hjelp av pgAdmin

For å opprette visningen Price_View2, gjør følgende:

Trinn 1) Skriv inn følgende spørring i spørringsredigeringsprogrammet:

CREATE VIEW Price_View2 AS
  SELECT price
  FROM Price
  WHERE price > 200;

Trinn 2) Klikk på Utfør-knappen.

Opprette PostgreSQL Visninger ved hjelp av pgAdmin

Trinn 3) Gjør følgende for å se innholdet i visningen:

  1. Skriv inn følgende spørring i spørringsredigeringsprogrammet:
  2. SELECT *
    FROM Price_View2;
    
  3. Klikk på Utfør-knappen.

Opprette PostgreSQL Visninger ved hjelp av pgAdmin

Dette vil returnere følgende:

Opprette PostgreSQL Visninger ved hjelp av pgAdmin

Endre PostgreSQL Visninger

For å oppnå det samme gjennom pgAdmin, gjør dette:

Trinn 1) Logg på pgAdmin-kontoen din.

Trinn 2)

  1. Fra navigasjonslinjen til venstre klikker du på Databaser.
  2. Klikk på Demo.

Endre PostgreSQL Visninger ved hjelp av pgAdmin

Trinn 3) Skriv inn søket i spørringsredigeringsprogrammet:

CREATE or REPLACE VIEW Price_View2 AS
  SELECT price, name
  FROM Book
  INNER JOIN Price
  ON Book.id = Price.id
  WHERE price > 200;

Trinn 4) Klikk på Utfør-knappen.

Endre PostgreSQL Visninger ved hjelp av pgAdmin

Trinn 5) Skriv inn følgende spørring i spørringsredigeringsprogrammet:

SELECT * 
FROM Price_View2;

Dette vil returnere følgende:

Endre PostgreSQL Visninger ved hjelp av pgAdmin

slette PostgreSQL Visninger

For å oppnå det samme gjennom pgAdmin, gjør dette:

Trinn 1) Logg på pgAdmin-kontoen din.

Trinn 2)

  1. Fra navigasjonslinjen til venstre klikker du på Databaser.
  2. Klikk på Demo.

slette PostgreSQL Visninger ved hjelp av pgAdmin

Trinn 3) Skriv inn søket i spørringsredigeringsprogrammet:

DROP VIEW Price_View2;

Trinn 4) Klikk på Utfør-knappen.

slette PostgreSQL Visninger ved hjelp av pgAdmin

Visningen vil bli slettet.

Oppsummering

  • A PostgreSQL view er en pseudo-tabell, noe som betyr at det ikke er en ekte tabell.
  • En visning kan opprettes fra en eller flere tabeller.
  • Tabellene som en visning opprettes fra er kjent som basistabeller.
  • For å lage en visning bruker vi CREATE OR REPLACE VIEW-setningen.
  • For å endre definisjonen av en visning bruker vi CREATE OR REPLACE VIEW-setningen.
  • For å slette en visning bruker vi DROP VIEW-setningen.

Last ned databasen som brukes i denne opplæringen