W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
View(視圖)是一張假表,只不過是通過相關(guān)的名稱存儲(chǔ)在數(shù)據(jù)庫中的一個(gè) PostgreSQL 語句。
View(視圖)實(shí)際上是一個(gè)以預(yù)定義的 PostgreSQL 查詢形式存在的表的組合。
View(視圖)可以包含一個(gè)表的所有行或從一個(gè)或多個(gè)表選定行。
View(視圖)可以從一個(gè)或多個(gè)表創(chuàng)建,這取決于要?jiǎng)?chuàng)建視圖的 PostgreSQL 查詢。
View(視圖)是一種虛擬表,允許用戶實(shí)現(xiàn)以下幾點(diǎn):
PostgreSQL 視圖是只讀的,因此可能無法在視圖上執(zhí)行 DELETE、INSERT 或 UPDATE 語句。但是可以在視圖上創(chuàng)建一個(gè)觸發(fā)器,當(dāng)嘗試 DELETE、INSERT 或 UPDATE 視圖時(shí)觸發(fā),需要做的動(dòng)作在觸發(fā)器內(nèi)容中定義。
在 PostgreSQL 用 CREATE VIEW 語句創(chuàng)建視圖,視圖創(chuàng)建可以從一張表,多張表或者其他視圖。
CREATE VIEW 基礎(chǔ)語法如下:
CREATE [TEMP | TEMPORARY] VIEW view_name AS SELECT column1, column2..... FROM table_name WHERE [condition];
您可以在 SELECT 語句中包含多個(gè)表,這與在正常的 SQL SELECT 查詢中的方式非常相似。如果使用了可選的 TEMP 或 TEMPORARY 關(guān)鍵字,則將在臨時(shí)數(shù)據(jù)庫中創(chuàng)建視圖。
創(chuàng)建 COMPANY 表 ,數(shù)據(jù)內(nèi)容如下:
w3cschooldb# select * from COMPANY; id | name | age | address | salary ----+-------+-----+-----------+-------- 1 | Paul | 32 | California| 20000 2 | Allen | 25 | Texas | 15000 3 | Teddy | 23 | Norway | 20000 4 | Mark | 25 | Rich-Mond | 65000 5 | David | 27 | Texas | 85000 6 | Kim | 22 | South-Hall| 45000 7 | James | 24 | Houston | 10000 (7 rows)
現(xiàn)在,下面是一個(gè)從 COMPANY 表創(chuàng)建視圖的實(shí)例。視圖只從 COMPANY 表中選取幾列:
w3cschooldb=# CREATE VIEW COMPANY_VIEW AS SELECT ID, NAME, AGE FROM COMPANY;
現(xiàn)在,可以查詢 COMPANY_VIEW,與查詢實(shí)際表的方式類似。下面是實(shí)例:
w3cschooldb# SELECT * FROM COMPANY_VIEW;
得到結(jié)果如下:
id | name | age ----+-------+----- 1 | Paul | 32 2 | Allen | 25 3 | Teddy | 23 4 | Mark | 25 5 | David | 27 6 | Kim | 22 7 | James | 24 (7 rows)
要?jiǎng)h除視圖,只需使用帶有 view_name 的 DROP VIEW 語句。DROP VIEW 的基本語法如下:
w3cschooldb=# DROP VIEW view_name;
下面的命令將刪除我們在前面創(chuàng)建的 COMPANY_VIEW 視圖:
w3cschooldb=# DROP VIEW COMPANY_VIEW;
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: