视图是MySQL5.1出现的新特性,本身是一个虚拟表,它的数据来自于表,通过查看时动态生成
视图的好处:
- 简化SQL语句
- 提高了SQL复用性
- 保护了基表的数据,提高了安全性
8.1 创建视图
# 方式一:create or replace 视图名as查询语句;# 方式二:alter view 视图名as查询语句;
8.2 删除视图
drop view 视图1,视图2, ... ;
8.3 查看视图
# 方式一:
desc 视图名;
# 方式二:
show create view 视图名;
8.4 视图的使用
视图支持insert、update、delete、select
但是视图一般是用来查询的,而不是用来更新的,所以具备以下特点的视图都不允许被更新
- 包含分组函数、group by、distinct、having、union
- 包含连接查询
- 包含常量视图
- where后的子查询用到了from中的表
- 用到了不可更新的视图
8.5 视图和表的对比
| 关键字 | 是否占用物理空间 | 使用范围 | |
|---|---|---|---|
| 视图 | view | 占用较小,只保存sql逻辑 | 一般用于查询 |
| 表 | table | 占用较大,需要保存实际的数据 | 增删改查 |
