SQLite 視圖

sqlite 視圖

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

視圖(view)可以包含一個(gè)表的所有行或從一個(gè)或多個(gè)表選定行。視圖(view)可以從一個(gè)或多個(gè)表創(chuàng)建,這取決于要?jiǎng)?chuàng)建視圖的 sqlite 查詢。、

視圖(view)是一種虛表,允許用戶實(shí)現(xiàn)以下幾點(diǎn):

  • 用戶或用戶組查找結(jié)構(gòu)數(shù)據(jù)的方式更自然或直觀。
  • 限制數(shù)據(jù)訪問,用戶只能看到有限的數(shù)據(jù),而不是完整的表。
  • 匯總各種表中的數(shù)據(jù),用于生成報(bào)告。

sqlite 視圖是只讀的,因此可能無法在視圖上執(zhí)行 delete、insert 或 update 語句。但是可以在視圖上創(chuàng)建一個(gè)觸發(fā)器,當(dāng)嘗試 delete、insert 或 update 視圖時(shí)觸發(fā),需要做的動(dòng)作在觸發(fā)器內(nèi)容中定義。

 

1. 創(chuàng)建視圖

sqlite 的視圖是使用 create view 語句創(chuàng)建的。sqlite 視圖可以從一個(gè)單一的表、多個(gè)表或其他視圖創(chuàng)建。

create view 的基本語法如下:

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)建視圖。

假設(shè) 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

現(xiàn)在,下面是一個(gè)從 company 表創(chuàng)建視圖的范例。視圖只從 company 表中選取幾列:

sqlite> create view company_view as
select id, name, age
from  company;

現(xiàn)在,可以查詢 company_view,與查詢實(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

 

2. 刪除視圖

要?jiǎng)h除視圖,只需使用帶有 view_name 的 drop view 語句。drop view 的基本語法如下:

sqlite> drop view view_name;

下面的命令將刪除我們在前面創(chuàng)建的 company_view 視圖:

sqlite> drop view company_view;

下一節(jié):sqlite 事務(wù)

sqlite教程

相關(guān)文章
亚洲国产精品第一区二区,久久免费视频77,99V久久综合狠狠综合久久,国产免费久久九九免费视频