概述
1、视图(view)在数据库管理系统中也是一个对象,也是以文件形式存在的。
2、视图也对应了一个查询结果,只是从不同的角度查看数据。
创建、删除、修改视图
创建视图
- 语法结构:
create view 视图名称 as 查询语句;
- 例子:从emp表查询empno、ename、sal,结果当作视图展示。
CREATE VIEW `myview` AS SELECT
EMPNO,
ENAME,
SAL
FROM
emp;
通过视图对象查看数据:
SELECT
*
FROM
`myview`;
修改视图
- 语法结构:
alter view 视图名称 as 查询语句;
- 示例:将myview视图修改为deptno、ename、job、sal
ALTER VIEW `myview` AS SELECT
EMPNO,
ENAME,
JOB,
SAL
FROM
emp;
查看视图:
SELECT
*
FROM
`myview`;
删除视图
- 语法结构:
drop view if exists 视图名称;
- 示例:删除myview视图
drop view if exists `myview`;
作用
- 面向视图查询,可以提高查询效率;也可以通过视图操作原表数据。
- 例子
1、单独执行:
select e.ename,d.dname from emp e join dept d on e.deptno = d.deptno;
2、将上面执行结果当作视图对象创建
create view myview as select e.ename,d.dname from emp e join dept d on e.deptno = d.deptno;
3、面向视图查询:没有进行表连接,提高检索效率。
select * from myview; -
隐藏表的实现细节
1、
CREATE VIEW `myview` AS SELECT
EMPNO a,
ENAME b,
SAL c
FROM
emp;
SELECT * FROM myview;
2、面向视图查询,只知道myview视图中有a、b、c三个字段,不知道该视图背后真实表的结构是什么。