2.1 视图概述
- 虚拟存在的表,视图并不在数据库中实际存在,数据来源于定义视图时所使用的表
- 使用时动态查询
作用
- 简单:用户不需要关心多个表结构、关联条件和筛选条件,只相当于一个单表查询
- 安全:对某列、某行能做到限制访问
- 数据独立:屏蔽表结构变化对用户的影响
2.2 语法
创建
- 把select封装称view
- select可以查询多个基本表或者源视图
create view view_city_countryasselect ...[with [cascaded|local] check option]
查询
select * from view_city_country;
更新数据(不建议)
实际更新的是基表的数据
update view_city_country set city = "" where city_id = 1;
更新的限制
with cascaded check option:必须满足所有针对该视图的所有视图的条件才可以更新(默认)with local check option:只要满足本视图的条件就可以更新
修改视图
ALTER VIEW <视图名> AS <SELECT语句>
2.3 查看视图
show tables
- 表和视图同时输出
- show create view view_name;
- 查看创建view时的语句
2.4 删除视图
drop view [if exists] view_name;
