视图的理解
1.视图是一种虚拟表,本身是不具有数据的,占用很少的内存空间,它是SQL中的一个重要概念。
2.视图建立在已有表的基础上,视图赖以建立的这些表称为基表。
3.视图的创建和删除只影响视图本身,不影响对应的基表,但是当视图中的数据进行增删改时,数据表中的数据会相应的发生变化,反之亦然。
4.向视图提供数据内容的语句为SELECT语句,可以将视图理解为存储起来的SELECT语句
视图的应用场景
在大型项目中,以及数据表比较复杂的情况下,视图可以帮助我们把经常查询的结构放到虚拟表中,提高使用效率
视图的优点
简化查询,控制数据的访问
创建视图
create view 视图名称 (字段列表)
as 查询语句
确定视图中字段名的方式:
1.查询语句中字段的别名会作为视图中字段的名称出现
2. 字段列表(小括号内字段个数与SELECT语句中字段个数相同)
基于视图创建视图
create view 视图名
as
select 字段
from 视图名
更新视图中的数据
可以更新视图中的数据
UPDATE 视图名
SET 更改
WHERE 条件
不能更新视图中的数据 (定义视图时select语句使用了jion联合查询,视图中的字段在基表中可能没有对应字段,例:聚合函数)
修改视图
CREATE OR REPLACE VIEW 视图名
AS
SELECT 语句
或者
ALTER VIEW 视图名
AS
SELECT 语句
删除视图
删除视图只是删除视图的定义,并不会删除基表的数据
DROP 视图名
注意: 基于视图a、b创建了新的视图c,如果将视图a或者b删除,会导致c的查询失败,这样的视图c需要手动删除或者修改,否则影响使用。