SQL语言基础-视图

    视图不真正存在数据,只是把定义存于数据字典,在对视图进行查询时,才按视图的定义从基本表中将数据查出。若一个视图是从单个基本表导出的,并且只是去掉了基本表的某些行和某些列,但保留了码,则称这个视图为行列子集视图。

    在DBMS中,视图的作用如下:

  • 简化用户的操作
  • 使用户能从多种角度看待同一数据
  • 对重构数据库提供了一定程度的逻辑独立性
  • 能够对机密数据提供安全保护

1、定义视图

建立视图的命令格式如下:

CREATE VIEW<视图名>[(<列名>[,<列名>]...)]

AS

子查询

[With Check Option]

其中With Check Option表示对视图进行Update,Insert和Delete操作时,要保证更新、插入或删除的行满足视图定义中的谓词条件。

  • 建立信息系学生的视图

CREAT VIEW IS_Student

AS

SELECT Sno,Sname,Sage

FROM Student

WHERE Sdept='IS'

With Check Option;

 

2、删除视图

删除视图的命令格式为:

DROP <视图名>

  • 删除视图IS_Student

DROP IS_Student; 

 

3、查询视图

因为视图没有真实数据,所以,对视图的查询要转换为对相应表的查询,这个过程叫做视图消解,视图消解过程由DBMS自动完成。

  • 信息系学生的视图中找出年龄小于20岁的学生

SELECT Sno,Sage

FROM IS_Student

WHERE Sage<20;

以上语句等价于:

SELECT Sno,Sage

FROM Student

WHERE Sage<20 And Sdept='IS';

4、更新视图

更新视图就是对相应的表的更新。

  • 将信息系学生视图IS_Student学号为95002的学生姓名改为“刘辰

UPDATE IS_Student

SET Sname='刘辰'

WHERE Sno='95002';

以上语句等价于:

UPDATE Student

SET Sname='刘辰'

WHERE Sno='95002' And Sdept='IS';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值