带你从数据小白成长为数据分析师
什么是视图?
从使用SQL查询角度看,视图就是一张表
视图和表的区别是,表是保存了实际数据的,视图没有保存数据
视图实际上是一段SQL查询代码,在读取视图数据时,视图会执行该语句创建出一张临时表供读取
视图优点
创建视图
CREATE VIEW 视图名称(视图列名1,视图列名2,···)
AS -- 此AS与定义别名的AS不同,省略会发生错误
SQL查询语句
CREATE VIEW View_name (col1, col2_SUM)
AS
SELECT col1, SUM(col2) -- 视图主体
FROM table_name -- 视图主体
GROUP BY col1 -- 视图主体
视图使用限制:
PostgreSQL默认不能向视图中插入数据,需要进行设置
-- PostgreSQL 视图插入数据
CREATE OR REPLACE RULE insert_rule
AS ON INSERT
TO View_name DO INSTEAD
INSERT INTO table_name VALUES (
new.col3,
new.col4)
使用视图
SELECT col1, col2_SUM
FROM View_name -- 在FROM语句中使用视图名称替代表
删除视图
DROP VIEW 视图名称(视图列名1,视图列名2,···)
DROP VIEW View_name --删除视图
DROP VIEW View_name CASCADE --删除View_name视图本身及衍生视图