试图上的dml操作
•为什么使用视图
–限制其它用户对数据库表的访问,因为视图可以有选择性的显示数据库表的一部分;
–容易实现复杂的查询;
–对于相同的数据可以产生不同的视图;
•创建视图语法;
CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
VIEW view_name [(column_list)]
AS select_statement
[WITH [CASCADED | LOCAL] CHECK OPTION]
•OR REPLACE:如果所创建的视图已经存在,该选项表示修改原视图的定义;
•view_name :视图的名称;
•column_list :列名,列名的数量必须和视图所对应查询语句的列数量相等;
•select_statement :一条完整的SELECT语句;
•WITH CHECK OPTION:一个约束条件,通过视图所插入或修改的数据行必须满足视图所定义的查询;
•ALGORITHM子句是可选的,它表示使用何种算法来处理视图。此外,它并不属于标准SQL的一部分,而是MySQL对标准SQL进行的功能扩展。ALGORITHM可以设置三个值:MERGE、TEMPTABLE或UNDEFINED。如果没有ALGORITHM子句,则默认值为UNDEFINED(未定义的)。
•例:创建一个视图v_emp10,通过该视图只能查看10号部门的员工编号,员工姓名,职位。
SQL> CREATE VIEW empvu10
AS SELECT empno, ename, job
FROM emp
WHERE deptno = 10;