扫码一下
查看教程更方便
视图(view)只不过是通过相关的名称存储在数据库中的一个 sqlite 语句。视图(view)实际上是一个以预定义的 sqlite 查询形式存在的表的组合。
视图(view)可以包含一个表的所有行或从一个或多个表选定行。视图(view)可以从一个或多个表创建,这取决于要创建视图的 sqlite 查询。、
视图(view)是一种虚表,允许用户实现以下几点:
sqlite 视图是只读的,因此可能无法在视图上执行 delete、insert 或 update 语句。但是可以在视图上创建一个触发器,当尝试 delete、insert 或 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 rich-mond 65000.0
5 david 27 texas 85000.0
6 kim 22 south-hall 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;