PostgreSQL Opret visning med eksempel

Hvad er PostgreSQL Udsigt?

In PostgreSQL, en udsigt er en pseudo-tabel. Det betyder, at en udsigt ikke er et rigtigt bord. Vi kan dog VÆLGE den som en almindelig tabel. En visning kan have alle eller nogle af tabelkolonnerne. En visning kan også være en repræsentation af mere end én tabel.

Tabellerne omtales som basistabeller. Når du opretter en visning, skal du blot oprette en forespørgsel og derefter give den et navn, hvilket gør den til et nyttigt værktøj til at ombryde komplekse og almindeligt anvendte forespørgsler.

Oprettelse af PostgreSQL Views

At oprette en PostgreSQL view, bruger vi CREATE VIEW-sætningen. Her er syntaksen for denne erklæring:

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

Parameteren OR REPLACE erstatter visningen, hvis den allerede eksisterer. Hvis den udelades, og visningen allerede eksisterer, vil der blive returneret en fejl.

View-name-parameteren er navnet på den visning, du skal oprette.

WHERE-betingelserne er valgmuligheder, og de skal være opfyldt, for at enhver post kan føjes til visningen.

Overvej pristabellen nedenfor:

Pris:

Oprettelse af PostgreSQL Views

Lad os skabe en visning fra ovenstående tabel:

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

Ovenstående kommando vil oprette en visning baseret på SELECT erklæring. Kun de poster, hvor prisen er større end 200, bliver tilføjet visningen. Udsigten har fået navnet Price_View. Lad os forespørge det for at se dets indhold:

SELECT *
FROM Price_View;

Dette returnerer følgende:

Oprettelse af PostgreSQL Views

Selvom basistabellen har 4 poster, blev der kun tilføjet 2 til visningen.

Her kan vi kun tilføje én kolonne til visningen. Lad os oprette en visning, der kun indeholdt én kolonne i pristabellen:

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

Visningen har fået navnet Price_View2 og inkluderer kun priskolonnen i tabellen Pris. Lad os forespørge i visningen for at se dens indhold:

SELECT *
FROM Price_View2;

Dette returnerer følgende:

Oprettelse af PostgreSQL Views

Ændring PostgreSQL Views

Definitionen af ​​en visning kan ændres uden at skulle droppe den. Dette gøres ved hjælp af CREATE OR REPLACE VIEW-sætningen.

Lad os demonstrere dette ved at opdatere visningen med navnet Price_View2.

Pris_visning2:

Ændring PostgreSQL Views

Bogtabellen er som følger:

Bestil:

Ændring PostgreSQL Views

Pristabellen er som følger:

Pris:

Ændring PostgreSQL Views

Følgende forespørgsel hjælper os med at opdatere 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;

Lad os nu forespørge i visningen for at se dens indhold:

Ændring PostgreSQL Views

Visningen er blevet ændret, og nu har vi to kolonner fra to forskellige tabeller. Dette er opnået ved hjælp af en JOIN-erklæring.

Sletning PostgreSQL Views

Når som helst du har brug for at slette en PostgreSQL udsigt. Du kan bruge DROP VIEW-sætningen. Her er syntaksen for sætningen:

DROP VIEW [IF EXISTS] view-name;

Parameteren view-name er navnet på den view, der skal slettes.

I denne syntaks er IF EXISTS valgfrit. Det er kun påkrævet. Hvis du ikke angiver det og forsøger at slette en visning, der ikke eksisterer, får du en fejl.

For at droppe visningen med navnet Price_View2 kan vi for eksempel køre følgende sætning:

DROP VIEW Price_View2;

Visningen vil blive slettet.

Bruger pgAdmin

Lad os nu se, hvordan disse handlinger kan udføres ved hjælp af pgAdmin.

Oprettelse af PostgreSQL Views

For at opnå det samme gennem pgAdmin, gør dette:

Trin 1) Log ind på din pgAdmin-konto.

Trin 2)

  1. Fra navigationslinjen til venstre - Klik på Databaser.
  2. Klik på Demo.

Oprettelse af PostgreSQL Visninger ved hjælp af pgAdmin

Trin 3) Indtast forespørgslen i forespørgselseditoren:

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

Trin 4) Klik på knappen Udfør.

Oprettelse af PostgreSQL Visninger ved hjælp af pgAdmin

Trin 5) Gør følgende for at se indholdet af visningen:

  1. Indtast følgende kommando i forespørgselseditoren:
  2. SELECT *
    FROM Price_View;
    
  3. Klik på knappen Udfør.

Oprettelse af PostgreSQL Visninger ved hjælp af pgAdmin

Dette vil returnere følgende:

Oprettelse af PostgreSQL Visninger ved hjælp af pgAdmin

For at oprette visningen Price_View2 skal du gøre følgende:

Trin 1) Indtast følgende forespørgsel i forespørgselseditoren:

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

Trin 2) Klik på knappen Udfør.

Oprettelse af PostgreSQL Visninger ved hjælp af pgAdmin

Trin 3) Gør følgende for at se indholdet af visningen:

  1. Indtast følgende forespørgsel i forespørgselseditoren:
  2. SELECT *
    FROM Price_View2;
    
  3. Klik på knappen Udfør.

Oprettelse af PostgreSQL Visninger ved hjælp af pgAdmin

Dette vil returnere følgende:

Oprettelse af PostgreSQL Visninger ved hjælp af pgAdmin

Ændring PostgreSQL Views

For at opnå det samme gennem pgAdmin, gør dette:

Trin 1) Log ind på din pgAdmin-konto.

Trin 2)

  1. Fra navigationslinjen til venstre - Klik på Databaser.
  2. Klik på Demo.

Ændring PostgreSQL Visninger ved hjælp af pgAdmin

Trin 3) Indtast forespørgslen i forespørgselseditoren:

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

Trin 4) Klik på knappen Udfør.

Ændring PostgreSQL Visninger ved hjælp af pgAdmin

Trin 5) Indtast følgende forespørgsel i forespørgselseditoren:

SELECT * 
FROM Price_View2;

Dette vil returnere følgende:

Ændring PostgreSQL Visninger ved hjælp af pgAdmin

Sletning PostgreSQL Views

For at opnå det samme gennem pgAdmin, gør dette:

Trin 1) Log ind på din pgAdmin-konto.

Trin 2)

  1. Fra navigationslinjen til venstre - Klik på Databaser.
  2. Klik på Demo.

Sletning PostgreSQL Visninger ved hjælp af pgAdmin

Trin 3) Indtast forespørgslen i forespørgselseditoren:

DROP VIEW Price_View2;

Trin 4) Klik på knappen Udfør.

Sletning PostgreSQL Visninger ved hjælp af pgAdmin

Visningen vil blive slettet.

Resumé

  • A PostgreSQL view er en pseudo-tabel, hvilket betyder, at det ikke er en rigtig tabel.
  • En visning kan oprettes fra en eller flere tabeller.
  • Tabellerne, hvorfra en visning oprettes, er kendt som basistabeller.
  • For at oprette en visning bruger vi CREATE OR REPLACE VIEW-sætningen.
  • For at ændre definitionen af ​​en visning bruger vi CREATE OR REPLACE VIEW-sætningen.
  • For at slette en visning bruger vi DROP VIEW-sætningen.

Download databasen brugt i denne vejledning