视图
含义
- 虚拟表,和普通表一样使用
- mysql5.1版本后出现的新的特性
- 通过表动态生成的数据
应用场景
- 多个地方用到同样的查询结果
- 该查询结果使用的sql语句较为复杂
创建视图
-
语法
-
CREATE VIEW 视图名 AS 查询语句;
-
修改视图
-
语法
-
CREATE OR REPLACE VIEW 视图名 AS 查询语句;
-
ALTER VIEW 视图名 AS 查询语句;
-
删除视图
-
语法
-
DROP VIEW 视图名1,视图名2,...;
-
查看视图结构
-
视图
-
DESC 视图名;
-
SHOW CREATE VIEW 视图名;
-
更新视图
-
插入
-
INSERT INTO 视图名 VALUES(...);
-
-
修改
-
UPDATE 视图名 SET 键=值;
-
-
删除
-
DELETE FROM 视图名 WHERE ...;
-
-
视图中可更新性和视图中查询的定义有关系,以下类型的视图是不能更新的
- 包含以下关键字的sql语句:
- 分组函数
- distinct
- group by
- having
- union
- union all
- 常量视图
- select中包含子查询
- join
- from一个不能更新的属兔
- where子句的子查询引用了from子句中的表
- 包含以下关键字的sql语句:
视图的好处
- 重用sql语句
- 简化 复杂的sql操作,不必知道它的查询细节
- 保护数据,提高安全性
视图与表对比
创建语法的关键字 | 内容是否占用物理空间 | 使用 | |
---|---|---|---|
视图 | create view | 只保存了sql逻辑 | 增删改查 |
表 | create table | 保存了数据 | 增删改查 |