视图:是一种虚拟表,可以喝普通表一样使用,它是通过查询已存在的表中的数据动态生成的表,只保存查询的逻辑,不保存查询的结果。
- 视图的好处:
--重用SQL
--简化复杂SQL操作,不必知道它的实现细节
--保护数据,提高安全性
- 应用场景:
--多个地方用到同样的查询结果
--该查询结果使用的SQL语句比较复杂
- 创建视图语法:create view 视图名 as 查询语句;
- 修改视图语法:
--方式一:create or replace view 视图名 as 查询语句;
--方式二:alter view 视图名 as 查询语句;
- 删除视图语法:drop view 视图名,视图名,...;
- 查看视图语法:
--方式一:DESC 视图名; (推荐)
--方式二:SHOW CREATE VIEW 视图名;
- 视图的更新(增删改统称):视图支持增伤该更新(不推荐),以下情况的视图不允许更新
--包含以下关键字的sql语句:分组函数、distinct、group by、having、union或者union all
--常量视图
--Select中包含子查询
--SQL92语法中的连接查询
--from一个不能更新的视图
- 视图和表的对比:
创建语法的关键字 | 是否实际占用物理空间 | 使用 | |
视图 | create view | 只是保存了sql逻辑 | 增删改查,只是一般不能增删改 |
表 | create table | 保存了数据 | 增删改查 |