SQLite 視圖

視圖只不過是數(shù)據(jù)庫中存儲的帶有相關(guān)名稱的 SQLite 語句。它實(shí)際上是一個(gè)預(yù)定義 SQLite 查詢形式的表的組合。

一個(gè)視圖可以包含一個(gè)表的所有行或一個(gè)或多個(gè)表中的選定行??梢詮囊粋€(gè)或多個(gè)表創(chuàng)建視圖,這取決于編寫的SQLite查詢來創(chuàng)建視圖。

作為虛擬表的視圖允許用戶-

  • 以用戶或用戶類別自然或直觀的方式來構(gòu)造數(shù)據(jù)。

  • 限制對數(shù)據(jù)的訪問,以便用戶只能看到有限的數(shù)據(jù),而不是完整的表。

  • 匯總各種表中的數(shù)據(jù),這些數(shù)據(jù)可用于生成報(bào)告。

SQLite視圖是只讀的,因此您可能無法在視圖上執(zhí)行DELETE,INSERT或UPDATE語句。但是,您可以在視圖上創(chuàng)建觸發(fā)器,該觸發(fā)器將在嘗試刪除,插入或更新視圖時(shí)觸發(fā),并在觸發(fā)器主體中執(zhí)行所需的操作。

創(chuàng)建視圖

使用CREATE VIEW語句創(chuàng)建SQLite視圖??梢詮囊粋€(gè)表,多個(gè)表或另一個(gè)視圖創(chuàng)建SQLite視圖。

以下是基本的CREATE VIEW語法。

CREATE [TEMP | TEMPORARY] VIEW view_name ASSELECT column1, column2.....FROM table_nameWHERE [condition];

您可以像在普通SQL SELECT查詢中使用多個(gè)表一樣,在SELECT語句中包括多個(gè)表。如果存在可選的TEMP或TEMPORARY關(guān)鍵字,則將在temp數(shù)據(jù)庫中創(chuàng)建該視圖。

示例

帶有以下記錄的COMPANY表-

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

以下是從COMPANY表創(chuàng)建視圖的示例。該視圖將僅用于COMPANY表中的幾列。

sqlite> CREATE VIEW COMPANY_VIEW AS
SELECT ID, NAME, AGE
FROM  COMPANY;

現(xiàn)在,您可以通過查詢實(shí)際表的類似方式查詢COMPANY_VIEW。以下是一個(gè)實(shí)例-

sqlite> SELECT * FROM COMPANY_VIEW;

這將產(chǎn)生以下結(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

刪除視圖

要?jiǎng)h除視圖,只需將DROP VIEW語句與一起使用view_name?;镜腄ROP VIEW語法如下-

sqlite> DROP VIEW view_name;

以下命令將刪除我們在上一節(jié)中創(chuàng)建的COMPANY_VIEW視圖。

sqlite> DROP VIEW COMPANY_VIEW;
丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清