【学习sql数据库】视图

  1. 从一个或几个表(或视图)导出的表,是虚表
  2. 只保存视图的定义,不存放视图的数据
  3. 以多种角度观察数据库中的数据

符号说明

<…>表示必填
[…]表示选填,可写可不写,不写时会有默认值
(…)是一种语法,需要写出 ()

定义视图

create view <视图名> [(<视图列的列表>)] as <查询块/子查询> [with check option]

  • 查询块中不允许出现排序order by
  • 视图列的列表(<列1>,<列2>,<列3>)不写时,视图包含查询块所有字段
  • with check option表示对视图操作满足查询块条件(对视图更新之后,仍然可以通过视图查询到该更新)

删除视图

drop view <视图名>

  • 基本表的数据不受影响
  • 参考该视图而定义的视图失效

查询视图

select * from <视图名> where <条件>
和查询表的操作一致,只是表名换为视图名
参考查询表

更新视图

insert into <视图名> values(<值1>,<值2>,<值3>)
update <视图名> set <列名>=<值> where <条件>
delete from <视图名> where <条件>
和更新表的操作一致,只是表名换为视图名。并非所有的视图都可以更新。
参考更新表

示例代码

用到的3个表,Student、SC、Course

创建一个视图

create view V_sc(姓名,课程,成绩) as
select Sname,Cname,Grade from Student x,Course y,SC z where x.Sno=z.Sno and y.Cno=z.Cno

在这里插入图片描述
查询视图

select * from V_sc

在这里插入图片描述
更新视图

update V_sc set 成绩=60 where 姓名='刘晨' and 课程='数据库'

可以看到SC表的内容已经更新
在这里插入图片描述
视图V_sc的内容如也改变了
在这里插入图片描述



广而告之

150讲轻松搞定Python网络爬虫

Java小白修炼手册

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序鸡

如果帮到您,点个赞鼓励一下吧。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值