SQLite 视图
视图仅仅是一个在数据库中存储的带有关联名称的SQLite语句。实际上,它是一个预定义SQLite查询形式的表的组合。
视图可以包含表中的所有行或来自一个或多个表的选定行。视图可以从一个或多个表创建,这取决于所编写的SQLite查询来创建视图。
虚拟表的视图允许用户:
- 以用户或用户组找到自然或直观的方式来组织数据。
-
限制用户访问数据,使其只能看到有限的数据量而不是完整表格。
-
从各种表格中进行数据总结,用于生成报表。
SQLite视图是只读的,因此不能在视图上执行DELETE、INSERT或UPDATE语句。但是,您可以在视图上创建一个触发器,该触发器在尝试删除、插入或更新视图时触发,并在触发器的主体中执行所需的操作。
创建视图
使用 CREATE VIEW 语句创建SQLite视图。SQLite视图可以创建单个表、多个表或另一个视图。
以下是基本的CREATE VIEW语法。
您可以在SELECT语句中包含多个表,方式类似于在普通的SQL SELECT查询中使用它们。如果存在可选的TEMP或TEMPORARY关键字,该视图将在临时数据库中创建。
示例
假设COMPANY表具有以下记录 –
以下是从COMPANY表创建视图的示例。此视图将仅包含COMPANY表中的少数列。
您现在可以以与查询实际表相似的方式查询COMPANY_VIEW。以下是一个示例 –
这将产生以下结果。
删除视图
要删除一个视图,只需使用 DROP VIEW 语句和视图名称 view_name 。基本的 DROP VIEW 语法如下所示−
以下命令将删除我们在上一节中创建的COMPANY_VIEW视图。