1.视图
1.1概念
1.视图是在mysql 在5.0.1版本加入的功能,它可以理解成为一个虚表。
2.之所以被称之为虚表,因为它存储了一个结构,并不存储真实的数据。它的数据是在查询过程中动态生成的
1.2 创建视图
create VIEW user_view as select * from 'user'
1.3 查看视图
和表一样,我可以用desc视图名,来查看视图的每一列
desc user_view
show create view user_view -- 查看创建的视图语法
select * from user_view
1.4 视图优点
1.简化了操作,不关心怎么处理数据,只关心如何使用这个结果集,相当于中间层
2.更安全。不能访问原表
3、可以做到权限的控制、细致到某一列
4、降低耦合、如果要修改表结构、那么可以通过修改视图的定义即可、不用修改程序代价更小
1.5视图缺点 【表结构修改需要手动修改视图】
1.6 视图IUD
表是可以IUD数据的,但是视图不一定
以下是视图不可更新的情况
1.包含了聚合函数、distinct 、group by 、union、union all
2. 常量视图。
3. select 包含子查询。
4. 包含连接操作。
5. from 一个不能更新的视图。
6. where 子句的子查询引用了 from 子句中的表
这里可以理解为 with check opton 的座椅多了个check的功能,即检查功能,也是说插入的数据