SQLite进阶-17.视图

视图(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';

猜你喜欢

转载自www.cnblogs.com/haitao130v/p/11372047.html
今日推荐