视图(view)

1.为啥使用视图

视图是一个表或几个表的映射,是虚表其实我们也可以拿它跟同义词类比下,当然它们还有很多不同 点了.我们可以把视图当作一串串长长的查询语句的同义词来理解.视图有用处主要是

1.简化查询,我们可以基于一个复杂的查询语句来建立一个视图,这样我们以后只要直接查询视图就行

2.限制数据访问.如果只希望某些用户只能访问表中的某几列数据,则可以用这几个列形成一个视图

2.创建视图:

语法:CREATE [OR REPLACE] VIEW view_name[(alias[,alias...])]

AS querySQL [WITH READ ONLY];

如果加上WITH READ ONLY表示只能对视图进行查询,不能做DML操作.

例1: CREATE VIEW v_emp AS

SELECT ename,empno FROM emp

例2: CREATE OR REPLACEVIEW v_emp(yourName,yourNumber) AS

SELECTename,empno FROM empWITH READ ONLY;

3.视图分类

1.简单视图:创建视图时对应的SELECT语句中不包含任何函数,表达式或分组函数.即视图是表的一个子集,只是把表中的一部分或全部数据原样"搬来",不做任何改变.

2.复杂视图:对应的select语句中包含函数,表达式或分组函数.即把表中的数据"搬过来"时还做了些改变.

3.连接视图.视图是基于多个表生成的.简单视图和复杂视图只基于一个表

如果创建视图时加了WITH READ ONLY则这三类视图都只能做查询操作.如果没加的话2,3类视图默认是也只能查询.而1类视图能做INSERT ,UPDATE的操作.

当然简单视图能做DML操作不一定就代表一定能操作成功,它操作完后要看对应的数据有没有违反基表的约束条件.

不能对视图做ALTER操作.删除视图就是DROP VIEW view_name.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值