发布于 2015-07-25 11:46:17 | 390 次阅读 | 评论: 0 | 来源: 网络整理

视图是没有超过一个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
----------  ----------  ----------
1           Paul        32
2           Allen       25
3           Teddy       23
4           Mark        25
5           David       27
6           Kim         22
7           James       24

删除视图:

要删除视图,只需使用DROP VIEW语句及view_name。 DROP VIEW的基本语法如下: 


sqlite> DROP VIEW view_name;

下面的命令将删除COMPANY_VIEW的视图,我们在最后一节创建:


sqlite> DROP VIEW COMPANY_VIEW;
最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务