前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL/Oracle视图的创建与使用

MySQL/Oracle视图的创建与使用

作者头像
互联网金融打杂
发布2018-08-02 16:34:14
1.3K0
发布2018-08-02 16:34:14
举报

1.什么是视图?

视图是一个虚拟的表,是一个表中的数据经过某种筛选后的显示方式,视图由一个预定义的查询select语句组成。

2.视图的特点。

视图中的数据并不属于视图本身,而是属于基本的表,对视图可以像表一样进行insert,update,delete操作。

视图不能被修改,表修改或者删除后应该删除视图再重建。

视图的数量没有限制,但是命名不能和视图以及表重复,具有唯一性。

视图可以被嵌套,一个视图中可以嵌套另一个视图。

视图不能索引,不能有相关联的触发器和默认值,sql server不能在视图后使用order by排序。

代码语言:javascript
复制
举例:查询“心理学”考试成绩大于80的学生的“学号”、“姓名”、“所属院系”。
Student(学号,姓名,性别,所属院系)
Course(课号,课名,学分)
Score(学号,课号,考试成绩,平时成绩)
这需要通过联合查询来解决问题了,参数不足,只得如此,来写一条语句试试:
Select st.学号,st.姓名,st.所属院系 from student as st,course as co,score as sc
Where co.课名=’心理学’ and sc.考试成绩>80 and st.学号=sc.学号 and co.课号=sc.课号
这条语句看起来很长,有一点点复杂,如果每次都要先写这条语句查询后在对查询的结果操作,就会显得复杂,创建一个视图就能解决这个问题了。
代码语言:javascript
复制
创建视图:
Create view vw1 as
Select st.学号,st.姓名,st.所属院系 from student as st,course as co,score as sc
Where co.课名=’心理学’ and sc.考试成绩>80 and st.学号=sc.学号 and co.课号=sc.课号
这样就可以世界查看视图,查看数据了。

3.视图的功能

1.简化用户操作

2.能以不同的角度观察同一个数据库

3.对重构数据库提供了逻辑独立性:

利用视图将需要的数据合并或者筛选,但是不影响原表的数据和结构

3.对机密数据提供安全保护:

 可以建立不同的视图对用不同的用户,以达到安全的目的。

4.视图的 ‘增删改查’

 http://www.w3school.com.cn/sql/sql_view.asp

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-07-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档