视图
自用…
一、概述
1. 概念
- 1)视图:虚拟表,和普通表一样使用。
- mysql5.1版本出现的新特性,是通过表动态生成的数据
- 2)如何理解视图?
- 将一段sql语句封装起来,取名为视图。调用视图,等同于执行封装的sql语句
- 类似于封装为函数?
2. 作用
- 1)重用sql语句
- 2)简化复杂的sql操作,不必知道它的细节
- 3)保护数据,提高安全性
二、使用
1. 创建视图
-
1)语法:
-
create view 视图名 as 查询语句;
-
2. 修改视图
-
1)语法:方式一
-
create or replace view 视图名 as 查询语句;
-
-
2)语法:方式二
-
alter view 视图名 as 查询语句;
-
3. 删除视图
-
语法:
-
drop view 视图名,视图名,...;
-
4. 查看视图
- 语法:
desc 视图名;
show create view 视图名;
5. 视图的更新
- 1)视图更新为更新数据
- 2)视图对数据的增删改和表的语法一样,并且更新视图时,会更新原始表
- 3)视图的更新涉及一些关键字的不能更新。视图的更新很少使用
- 包含以下关键字的sql语句不能更新:
- 分组函数、distinct、group by、having、union或者union all、常量视图l、select中包含子查询l、joinl、from一个不能更新的视图l、where子句的子查询引用了from子句中的表
三、视图和表对比
创建语法 | 是否占用实际内存 | 使用 | |
---|---|---|---|
视图 | create view | 否(只是保存了sql逻辑) | 增删改查,一般不能增删改 |
表 | create table | 占用 | 增删改查都可以 |