Sqlite 简明教程
SQLite - Views
视图只不过是一条存储在数据库中并具有关联名称的 SQLite 语句。它实际上是一个以预定义的 SQLite 查询形式存在的表。
视图可以包含一张表的所有行或来自一张或多张表中的选定行。可以基于一个或多个表创建一个视图,这取决于编写用于创建视图的 SQLite 查询。
视图是一种虚拟表,允许用户 −
-
以用户或用户类别觉得自然或直观的方式构建结构化数据。
-
限制对数据的访问,使得用户只能看到完整表中的有限数据。
-
总结各种表格中的数据,可用于生成报告。
SQLite 视图是只读的,因此你可能无法在视图上执行 DELETE、INSERT 或 UPDATE 语句。但是,你可以在视图上创建一个触发器,在试图 DELETE、INSERT 或 UPDATE 视图时触发并执行触发器主体中你需要执行的操作。
Creating Views
SQLite 视图是使用 CREATE VIEW 语句创建的。SQLite 视图可以从单个表格、多个表格或其他视图创建。
以下是基本的 CREATE VIEW 语法。
CREATE [TEMP | TEMPORARY] VIEW view_name AS
SELECT column1, column2.....
FROM table_name
WHERE [condition];
你可以用类似于在普通 SQL SELECT 查询中使用表格的方式在 SELECT 语句中包含多个表格。如果存在可选的 TEMP 或 TEMPORARY 关键字,将在 temp 数据库中创建视图。
Example
考虑下面记录的 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