SQLiteViews(视图)

SQLiteViews(视图) 首页 / SQLite入门教程 / SQLiteViews(视图)

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

SQLite视图是只读的,因此您可能无法在视图上执行DELETE,INSERT或UPDATE语句。但是,您可以在视图上创建触发器,该触发器将在DELETE,INSERT或UPDATE视图时触发,并在触发器主体中执行所需的操作。

创建视图

使用 CREATE VIEW 语句创建SQLite视图,可以从一个表,多个表或另一个视图创建SQLite视图。

以下是基本的CREATE VIEW语法。

CREATE [TEMP | TEMPORARY] VIEW view_name AS
SELECT column1, column2.....
FROM table_name
WHERE [condition];

视图示例

考虑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           Learnfk       24          Houston     10000.0

以下是从COMPANY表创建视图的示例,该视图将仅用于COMPANY表中的几列。

链接:https://www.learnfk.comhttps://www.learnfk.com/sqlite/sqlite-views.html

来源:LearnFk无涯教程网

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           Learnfk       24

删除视图

要删除视图,只需将DROP VIEW语句与 view_name 一起使用。基本的DROP VIEW语法如下-

sqlite> DROP VIEW view_name;

以下命令将删除无涯教程在上一节中创建的COMPANY_VIEW视图。

sqlite> DROP VIEW COMPANY_VIEW;

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

教程推荐

前端全链路优化实战课 -〔唐俊开〕

徐昊 · AI 时代的软件工程 -〔徐昊〕

云时代的JVM原理与实战 -〔康杨〕

零基础GPT应用入门课 -〔林健(键盘)〕

大厂晋升指南 -〔李运华〕

系统性能调优必知必会 -〔陶辉〕

iOS开发高手课 -〔戴铭〕

Linux性能优化实战 -〔倪朋飞〕

AI技术内参 -〔洪亮劼〕

好记忆不如烂笔头。留下您的足迹吧 :)