MySQL51--视图

视图

视图就是一张虚拟表,可以通过视图来查询一张或者多张表的数据

创建视图

CREATE VIEW 视图名称 AS 查询语句;
-- 创建一个视图,名称为VIEW_emp,查询emp表全部列的数据,作为视图的结果
CREATE VIEW VIEW_emp AS SELECT * FROM emp;
SHOW TABLEs;
-- 创建一个视图,视图名称为VIEW_emp_dept,查询emp表中全部列的数据以及dept表中,部门名称(dname),部门地址(loc),作为视图的结果
CREATE VIEW VIEW_emp_dept AS SELECT e.*,d.dname,d.loc FROM emp e,dept d WHERE e.deptno=d.deptno;
SHOW TABLEs;

查询视图

-- 通过视图VIEW_emp,查询工资大于2000的,员工的编号,姓名,工资,根据工资升序排列
SELECT empno,ename,sal
FROM VIEW_emp
WHERE sal>2000
ORDER BY sal ASC;
-- 通过视图VIEW_emp_dept,查询员工编号,姓名,工资,部门名称,部门地址,根据姓名升序排列
SELECT empno,ename,sal,dname,loc
FROM view_emp_dept
ORDER BY ename ASC;

修改视图

ALTER VIEW 视图名称 AS 查询语句;
-- 修改视图VIEW_emp,查询emp表中10号,20号,30号部门的员工作为视图的新结果
SELECT * FROM VIEW_emp;
ALTER VIEW VIEW_emp AS SELECT * FROM emp WHERE deptno IN(10,20,30);
SELECT * FROM VIEW_emp;

删除视图

DROP VIEW 视图名称;
-- 删除视图VIEW_emp并验证
DROP VIEW VIEW_emp;
SHOW TABLEs;
posted @ 2021-10-24 16:32  暄总-tester  阅读(116)  评论(0)    收藏  举报