视图是没有超过一个SQLite语句存储在数据库相关的名称。视图实际上是一个预定义的SQLite查询的形式的组合物中的一个表。
从一个或多个表,视图可以包含一个表的所有行或选定行。可以从一个或多个表,这取决于书面SQLite的查询创建一个视图创建一个视图。
视图是一种虚表,让用户做到以下几点:
用户或类别的用户发现结构数据的方式更自然或直观。
限制访问,用户只能看到有限的数据,而不是完整的表等数据。
总结各种表中的数据可用于生成报告。
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------------------------------1Paul322Allen253Teddy234Mark255David276Kim227James24
删除视图:
要删除视图,只需使用DROP VIEW语句及view_name。 DROP VIEW的基本语法如下:
sqlite>DROP VIEW view_name;
下面的命令将删除COMPANY_VIEW的视图,我们在最后一节创建:
sqlite>DROP VIEW COMPANY_VIEW;
¥ 我要打赏
纠错/补充
收藏
加QQ群啦,易百教程官方技术学习群
注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。