mysql的视图
视图是在数据库中定义的虚拟表
用途:
简化复杂查询
数据安全性
数据抽象和封装
性能优化
-- MySQL的视图
-- 创建视图
## or replace若视图存在则替换
create or replace view view_emp
as
select ename,job from emp;
-- 查看表和视图
show tables;
show full tables;
select * from view_emp;
-- 修改视图
-- 1create or replace
-- 2
alter view view_emp
as
select a.deptno,a.dnane,a.loc,b.sal from dept a,empt b where a.deptno=b.deptno;
select * from view1_emp;
-- 更新视图
select * from view1_emp;
update view1_emp set ename='周瑜' where enane='鲁肃';
insert into view1_emp values('周瑜','文员');
## 不可更新的情况
/*
1.包含聚合函数的
2.包含distinct不可
3.GROUP BY
4.HAVING
5.UNION /union ALL
6.位于选择列表中的子查询
6.JOIN
7.from字句不能
8.where字句
9.进引用文字值
*/
-- 视图其他操作
-- 重命名视图
rename table veiw1_emp to myview1;
-- 删除视图
drop view if exists myview1;