SQLite 視圖(View)

SQLite 視圖(View)

SQLite 視圖(View

 

 

資料來源: http://www.runoob.com/sqlite/sqlite-view.html

 

 

視圖(View)只不過是通過相關的名稱存儲在資料庫中的一個 SQLite 語句。視圖(View)實際上是一個以預定義的 SQLite 查詢形式存在的表的組合。

視圖(View)可以包含一個表的所有行或從一個或多個表選定行。視圖(View)可以從一個或多個表創建,這取決於要創建視圖的 SQLite 查詢。、

視圖(View)是一種虛表,允許用戶實現以下幾點:

  • 使用者或使用者組查找結構資料的方式更自然或直觀。
  • 限制資料訪問,使用者只能看到有限的資料,而不是完整的表。
  • 匯總各種表中的資料,用於生成報告。

SQLite 視圖是唯讀的,因此可能無法在視圖上執行 DELETEINSERT UPDATE 語句。但是可以在視圖上創建一個觸發器,當嘗試 DELETEINSERT UPDATE 視圖時觸發,需要做的動作在觸發器內容中定義。

創建視圖

SQLite 的視圖是使用 CREATE VIEW 語句創建的。SQLite 視圖可以從一個單一的表、多個表或其他視圖創建。

CREATE VIEW 的基本語法如下:

CREATE [TEMP | TEMPORARY] VIEW view_name AS

SELECT column1, column2…..

FROM table_name

WHERE [condition];

您可以在 SELECT 語句中包含多個表,這與在正常的 SQL SELECT 查詢中的方式非常相似。如果使用了可選的 TEMP TEMPORARY 關鍵字,則將在臨時資料庫中創建視圖。

實例

假設 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          RichMond   65000.0

5           David       27          Texas       85000.0

6           Kim         22          SouthHall  45000.0

7           James       24          Houston     10000.0

現在,下麵是一個從 COMPANY 表創建視圖的實例。視圖只從 COMPANY 表中選取幾列:

sqlite> CREATE VIEW COMPANY_VIEW AS

SELECT ID, NAME, AGE

FROM  COMPANY;

現在,可以查詢 COMPANY_VIEW,與查詢實際表的方式類似。下麵是實例:

sqlite> SELECT * FROM COMPANY_VIEW;

這將產生以下結果:

ID          NAME        AGE

———-  ———-  ———-

1           Paul        32

2           Allen       25

3           Teddy       23

4           Mark        25

5           David       27

6           Kim         22

7           James       24

刪除視圖

要刪除視圖,只需使用帶有 view_name  DROP VIEW 語句。DROP VIEW 的基本語法如下:

sqlite> DROP VIEW view_name;

下麵的命令將刪除我們在前面創建的 COMPANY_VIEW 視圖:

sqlite> DROP VIEW COMPANY_VIEW;

 

 

 

 

 

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *