4.更新视图中的数据
#4.1 一般情况,可以更新视图的数据
SELECT * FROM vu_emp1;
SELECT employee_id,last_name,salary
FROM emps;
#更新视图的数据,也会修改表中的数据
UPDATE vu_emp1
SET salary=20000
WHERE employee_id=101;
#更新表的数据,会导致视图的数据的更改
UPDATE emps
SET salary=10000
WHERE employee_id=101;
#删除视图中的数据,也会导致表中数据的删除
DELETE FROM vu_emp1
WHERE employee_id=101;
#4.2 不能更新视图中的数据
SELECT * FROM vu_emp_sal
#函数的字段
#更新失败The target table vu_emp_sal of the UPDATE is not updatable
UPDATE vu_emp_sal
SET avg_sal=5000
WHERE department_id=30;
#删除失败
DELETE FROM vu_emp_sal
WHERE department_id=30;
5.修改视图
#5.修改视图
DESC vu_emp1;
#方式1
CREATE OR REPLACE VIEW vu_emp1
AS
SELECT employee_id,last_name,salary,email
FROM emps
WHERE salary>7000;
#方式2
ALTER VIEW vu_emp1
AS
SELECT employee_id,last_name,salary,email,hire_date
FROM emps;
6.删除视图
#6.删除视图
SHOW TABLES;
DROP VIEW vu_emp4;
DROP VIEW vu_emp2,vu_emp3;
7.视图的优点