视图

在单表上创建视图

#例如:隐藏emp表中的sal和comm字段。
create view v1_emp as select empno, ename, job, mgr, hiredate, deptno from emp ;

在多表上创建视图

#在emp表和dept表的基础上创建视图
create view v2_emp as select e.empno, e.ename, e.job, d.deptno, d.dname, d.loc from emp e inner join dept d on e.deptno=d.deptno;

在其他视图上创建视图

create view v3_emp as select empno,ename,job,deptno,dname from v2_emp where loc='new york';

查看当前数据库中所有的视图

show table;

使用SHOW TABLE STATUS语句查看视图

show table status [{from | in} 视图所在数据库名] [like 'pattern'];

使用DESCRIBE语句查看视图

desc 视图名;

修改视图

#使用create or replace语句

#例如:将v1_emp视图中empno字段隐藏。
create or replace view v1_emp as select ename, job, mgr, hiredate, deptno from emp;

#使用alter view语句

#例如:将v1_emp视图中hiredate字段隐藏。
alter view v1_emp as select ename, job, mgr, deptno from emp;

删除视图

DROP VIEW语句可以删除一个或多个视图,语法格式:

drop view [if exists] view_name1 [, view_name2] ...

使用INSERT语句更新视图

更新视图的操作实际上是对基础表的增加、删除和更新操作。

更新视图时的限制条件

  1. 包含运算符号时不可更新如sum(),min() …
  2. 视图中包含DISTINCT、GROUP BY、HAVING、UNION或者UNION ALL关键字
  3. 视图中的SELECT语句包含子查询。
  4. 视图引用的只是文字值(也成为常量视图,这种情况下,根本没有要更新的基础表)
  5. 视图是根据不可更新视图构建的。
  6. 创建视图时指定了ALGORITHM = TEMPTABLE
  7. 如果视图是连接视图(在创建视图时使用了JOIN),那么在更新视图时需要谨慎处理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值