Mysql 视图
什么是视图
一组查询指令构成的结果集,是一个虚拟存在的表
视图和表的关系?
表是实体结构,需要物理空间;视图是虚拟结构,不需要物理空间
表可以有索引,视图不能添加索引
表的改变立即提现在视图上
为什么需要视图
简化SQL,重复利用SQL, 尤其是一些复杂查询时更能提现真香定律
安全。只暴露表的部分字段、保护数据
增删改查视图
增
CREATE VIEW v_myView AS SELECT * FROM myTable
删
DROP VIEW v_myView
改
alter view 视图名 as select db or alter view 视图名 as select view;
重命名: rename table 视图名 to 新视图名
查
SELECT * FROM v_myView WHERE myID = 123
性能
优缺点
优点
视图表可视为数据表,具有 JOIN 的能力
安全:只暴露部分字段;可以做到只读不修改
简化:代替复杂语句
没额外空间:逻辑表
缺点
修改限制:多表视图可以不可以删除、新增,但可以修改(更新的列必须来自同一个表)