视图(View)

视图是一个预定义的SQLite查询的形式存在的表的组合。

可以包含一个表的所有行或从一个或多个表选定行。可以从一个或多个表,这取决于创建视图的语句。

视图(View)是一种虚表,是只读的,因此在视图上无法执行DELETE,INSERT或UPDATE语句。但是可以创建一个触发器,视图上发生DELETE,INSERT或UPDATE操作时,需要做的操作在触发器内实现。

-- 语句
CREATE [TEMP | TEMPORARY] VIEW view_name AS
SELECT column1, column2..
FROM table_name
WHERE [condition];
-- SELECT 语句可以操作多个表。
-- 关键字TEMP 或 TEMPORARY 用于创建临时视图。 -- 实例
CREATE VIEW link_men_view AS
SELECT ID, NAME
FROM link_name;

视图使用场景例如

  1. 当客户需要访问你的数据,而你又不想暴露所有字段值时,可以使用。
  2. 当某个需求需要查询多个表时,可以创建临时视图供使用。

操作视图

与操作普通表一样

SELECT * FROM link_men_view;

更新视图

OR REPLACE关键字,如果当前数据库中已经存在指定名称的视图时, 当前正在创建的视图会覆盖掉原来同名的视图。

-- 语句
CREATE OR REPLACE VIEW view_name AS
SELECT column1, column2..
FROM table_name
WHERE [condition]; -- 实例
CREATE OR REPLACE VIEW link_men_view AS
SELECT ID, NAME
FROM link_name;

删除视图

DROP VIEW link_men_view;

查看所有的视图

下面的语句要在命令行执行。

select * from sqlite_master where type='view';

SQLite进阶-17.视图的更多相关文章

  1. [.net 面向对象程序设计进阶] (17) 多线程(Multithreading)(二) 利用多线程提高程序性能(中)

    [.net 面向对象程序设计进阶] (17) 多线程(Multithreading)(二) 利用多线程提高程序性能(中) 本节要点: 上节介绍了多线程的基本使用方法和基本应用示例,本节深入介绍.NET ...

  2. MySQL进阶(视图)---py全栈

    目录 mysql进阶(视图)---py全栈 一.什么是视图? 二.视图的特性 三.视图的优点 四.使用场合 五.视图基本操作 六.案例 mysql进阶(视图)---py全栈 一.什么是视图? 视图是从 ...

  3. MySQL进阶16 - 视图的创建/修改/删除/更新--可更新性的不适用条件

    #进阶16 : 视图 /* 含义: 虚拟表,和普通表一样使用;(从5.1开始使用的:)是通过表动态生成的数据 创建语法: create view 视图名 as 查询语句; ---------- 作用: ...

  4. MySQL:进阶之视图函数

    一,视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用. 使用视图我们可以把查询过程中的临时 ...

  5. SQLite进阶-15.触发器

    目录 触发器(Trigger) 触发器(Trigger)的要点: 触发器应用 查看触发器 删除触发器 触发器(Trigger) 触发器(Trigger)是数据库的回调函数,它会在指定的数据库事件发生时 ...

  6. T-SQL查询进阶--深入浅出视图

    视图可以看作定义在SQL Server上的虚拟表.视图正如其名字的含义一样,是另一种查看数据的入口.常规视图本身并不存储实际的数据,而仅仅存储一个Select语句和所涉及表的metadata. 视图简 ...

  7. JAVA进阶17

    ---恢复内容开始--- 间歇性混吃等死,持续性踌躇满志系列-------------第17天 1.递归结构 递归是一种常见的解决问题的方法,即把问题逐渐简单化.递归的基本思想就是自己就是“自己调用自 ...

  8. python3开发进阶-Django视图(View)的常见用法

    阅读目录 简述Django的View(视图) CBV和FBV Request对象和Response对象 Django组件(render,redirect)详解 一.简述Django的View(视图) ...

  9. 17.视图--SQL

    一.什么是视图 视图是虚拟的表 为什么使用视图 重用SQL语句. 简化复杂的SQL操作.在编写查询后,可以方便地重用它而不必知道其基本查询细节. 使用表的一部分而不是整个表. 保护数据.可以授予用户访 ...

随机推荐

  1. MAC 下视频转换格式软件 之 handbrake

    下载地址: https://handbrake.fr/

  2. 原来INF文件是干这个的

    When the drivers for a device are installed, the installer uses information in an information (INF) ...

  3. AE开发之shp转txt

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  4. Atcoder ABC 139B

    Atcoder ABC 139B 题意: 一开始有1个插口,你的插排有 $ a $ 个插口,你需要 $ b $ 个插口,问你最少需要多少个插排. 解法: 暴力模拟. CODE: #include< ...

  5. Flask-login Question

    1 未登录访问鉴权页面如何处理? 如果未登录访问了一个作了 login_required 限制的 view,那么 Flask-Login 会默认 flash一条消息,并且将重定向到login_view ...

  6. 异步机制 - APC

    APC : An asynchronous procedure call,异步过程调用,是微软提供的一种在线程上下文中执行代码的机制.当向一个线程插入一个USER APC时,如果线程进入alertab ...

  7. 【Robot Framework 项目实战 04】基于录制,生成RF关键字及 自动化用例

    背景 因为服务的迁移,Jira版本的更新,很多接口文档的维护变少,导致想要编写部分服务的自动化测试变得尤为麻烦,很多服务,尤其是客户端接口需要通过抓包的方式查询参数来编写自动化用例,但是过程中手工重复 ...

  8. Linux设备驱动程序 之 工作队列

    工作队列可以把工作推后,交给一个内核线程去执行–这个下半部分总是会在进程上下文中执行:通过工作队列执行的代码占尽进程上下文的优势:最重要的是工作队列允许重新调度甚至睡眠: 在工作队列和软中断/task ...

  9. SpringBoot/SpringMVC 下载本地文件

    页面代码: <!DOCTYPE html> <html lang="utf-8"> <meta http-equiv="Content-Ty ...

  10. C之枚举

    #include<stdio.h>#include<stdlib.h>enum WeekDay{ Monday,Tuesday,Wednesday,Thursday,Frida ...