概述
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三個字段,不知道該視圖背后真實表的結構是什么。