PostgreSQL Maak een weergave met voorbeeld

Wat is PostgreSQL Visie?

In PostgreSQL, een weergave is een pseudotabel. Dit betekent dat een weergave geen echte tabel is. We kunnen het echter SELECTEREN als een gewone tabel. Een weergave kan alle of enkele tabelkolommen bevatten. Een weergave kan ook een weergave zijn van meer dan één tabel.

De tabellen worden basistabellen genoemd. Wanneer u een weergave maakt, hoeft u alleen maar een query te maken en deze een naam te geven, waardoor het een handig hulpmiddel is voor het verpakken van complexe en veelgebruikte query's.

Wij creëren PostgreSQL Weergaves

Het creëren van een PostgreSQL view gebruiken we de CREATE VIEW-instructie. Hier is de syntaxis voor deze verklaring:

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

De parameter OR REPLACE vervangt de weergave als deze al bestaat. Als u dit weglaat en de weergave al bestaat, wordt er een fout geretourneerd.

De parameter view-name is de naam van de weergave die u moet maken.

De WHERE-voorwaarde(n) zijn opties, waaraan moet worden voldaan voordat een record aan de weergave kan worden toegevoegd.

Beschouw de onderstaande prijstabel:

Prijs:

Wij creëren PostgreSQL Weergaves

Laten we een weergave maken op basis van de bovenstaande tabel:

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

Met de bovenstaande opdracht wordt een weergave gemaakt op basis van de SELECT-instructie. Alleen de records waarvan de prijs hoger is dan 200 worden aan de weergave toegevoegd. De weergave heeft de naam Price_View gekregen. Laten we er een vraag over stellen om de inhoud ervan te zien:

SELECT *
FROM Price_View;

Dit geeft het volgende terug:

Wij creëren PostgreSQL Weergaves

Hoewel de basistabel vier records bevat, zijn er slechts twee aan de weergave toegevoegd.

Hier kunnen we slechts één kolom aan de weergave toevoegen. Laten we een weergave maken die slechts één kolom van de prijstabel bevat:

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

De weergave heeft de naam Price_View2 gekregen en bevat alleen de prijskolom van de Prijstabel. Laten we de weergave bevragen om de inhoud ervan te zien:

SELECT *
FROM Price_View2;

Dit geeft het volgende terug:

Wij creëren PostgreSQL Weergaves

De wereld PostgreSQL Weergaves

De definitie van een weergave kan worden gewijzigd zonder deze te hoeven verwijderen. Dit wordt gedaan met behulp van de CREATE OR REPLACE VIEW-instructie.

Laten we dit demonstreren door de weergave met de naam Price_View2 bij te werken.

Prijs_View2:

De wereld  PostgreSQL Weergaves

De boekentabel is als volgt:

Boek:

De wereld  PostgreSQL Weergaves

De prijstabel is als volgt:

Prijs:

De wereld  PostgreSQL Weergaves

Met de volgende query kunnen we de weergave Price_View2 bijwerken:

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

Laten we nu de weergave doorzoeken om de inhoud ervan te zien:

De wereld  PostgreSQL Weergaves

De weergave is gewijzigd en nu hebben we twee kolommen uit twee verschillende tabellen. Dit is bereikt met behulp van een JOIN-instructie.

wissen PostgreSQL Weergaves

Elke keer dat u een PostgreSQL weergave. U kunt de DROP VIEW-instructie gebruiken. Hier is de syntaxis voor de instructie:

DROP VIEW [IF EXISTS] view-name;

De parameter viewnaam is de naam van de view die moet worden verwijderd.

In deze syntaxis is IF EXISTS optioneel. Het is alleen vereist. Als u dit niet opgeeft en probeert een weergave te verwijderen die niet bestaat, krijgt u een foutmelding.

Om bijvoorbeeld de weergave Price_View2 te verwijderen, kunnen we de volgende instructie uitvoeren:

DROP VIEW Price_View2;

De weergave wordt verwijderd.

Gebruik pgAdmin

Laten we nu eens kijken hoe deze acties kunnen worden uitgevoerd met pgAdmin.

Wij creëren PostgreSQL Weergaves

Om hetzelfde te bereiken via pgAdmin, doet u het volgende:

Stap 1) Log in op uw pgAdmin-account.

Stap 2)

  1. Klik in de navigatiebalk aan de linkerkant op Databases.
  2. Klik op Demo.

Wij creëren PostgreSQL Weergaven met pgAdmin

Stap 3) Typ de query in de query-editor:

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

Stap 4) Klik op de knop Uitvoeren.

Wij creëren PostgreSQL Weergaven met pgAdmin

Stap 5) Om de inhoud van de weergave te bekijken, doet u het volgende:

  1. Typ de volgende opdracht in de query-editor:
  2. SELECT *
    FROM Price_View;
    
  3. Klik op de knop Uitvoeren.

Wij creëren PostgreSQL Weergaven met pgAdmin

Dit retourneert het volgende:

Wij creëren PostgreSQL Weergaven met pgAdmin

Om de weergave Price_View2 te maken, doet u het volgende:

Stap 1) Typ de volgende query in de query-editor:

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

Stap 2) Klik op de knop Uitvoeren.

Wij creëren PostgreSQL Weergaven met pgAdmin

Stap 3) Om de inhoud van de weergave te bekijken, doet u het volgende:

  1. Typ de volgende query in de query-editor:
  2. SELECT *
    FROM Price_View2;
    
  3. Klik op de knop Uitvoeren.

Wij creëren PostgreSQL Weergaven met pgAdmin

Dit retourneert het volgende:

Wij creëren PostgreSQL Weergaven met pgAdmin

De wereld PostgreSQL Weergaves

Om hetzelfde te bereiken via pgAdmin, doet u het volgende:

Stap 1) Log in op uw pgAdmin-account.

Stap 2)

  1. Klik in de navigatiebalk aan de linkerkant op Databases.
  2. Klik op Demo.

De wereld  PostgreSQL Weergaven met pgAdmin

Stap 3) Typ de query in de query-editor:

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

Stap 4) Klik op de knop Uitvoeren.

De wereld  PostgreSQL Weergaven met pgAdmin

Stap 5) Typ de volgende query in de query-editor:

SELECT * 
FROM Price_View2;

Dit retourneert het volgende:

De wereld  PostgreSQL Weergaven met pgAdmin

wissen PostgreSQL Weergaves

Om hetzelfde te bereiken via pgAdmin, doet u het volgende:

Stap 1) Log in op uw pgAdmin-account.

Stap 2)

  1. Klik in de navigatiebalk aan de linkerkant op Databases.
  2. Klik op Demo.

wissen PostgreSQL Weergaven met pgAdmin

Stap 3) Typ de query in de query-editor:

DROP VIEW Price_View2;

Stap 4) Klik op de knop Uitvoeren.

wissen PostgreSQL Weergaven met pgAdmin

De weergave wordt verwijderd.

Samenvatting

  • A PostgreSQL view is een pseudo-tabel, wat betekent dat het geen echte tabel is.
  • Een weergave kan worden gemaakt op basis van een of meer tabellen.
  • De tabellen waaruit een weergave wordt gemaakt, worden basistabellen genoemd.
  • Om een ​​weergave te maken, gebruiken we de instructie CREATE OR REPLACE VIEW.
  • Om de definitie van een weergave te wijzigen, gebruiken we de instructie CREATE OR REPLACE VIEW.
  • Om een ​​weergave te verwijderen, gebruiken we de DROP VIEW-instructie.

Download de database die in deze zelfstudie wordt gebruikt