SQLite 视图

SQLite 视图

视图仅仅是一个在数据库中存储的带有关联名称的SQLite语句。实际上,它是一个预定义SQLite查询形式的表的组合。

视图可以包含表中的所有行或来自一个或多个表的选定行。视图可以从一个或多个表创建,这取决于所编写的SQLite查询来创建视图。

虚拟表的视图允许用户:

  • 以用户或用户组找到自然或直观的方式来组织数据。

  • 限制用户访问数据,使其只能看到有限的数据量而不是完整表格。

  • 从各种表格中进行数据总结,用于生成报表。

SQLite视图是只读的,因此不能在视图上执行DELETE、INSERT或UPDATE语句。但是,您可以在视图上创建一个触发器,该触发器在尝试删除、插入或更新视图时触发,并在触发器的主体中执行所需的操作。

创建视图

使用 CREATE VIEW 语句创建SQLite视图。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;

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程