11-10SQLserver基础--数据库之视图
视图
视图实际就是对表的连接展现出来的结果建成的虚拟表。简单来说,视图实际上就是一个虚拟的表,通过表与表之间的关系连接起来,方便查询时使用。
首先,将需要连接的语句存储到数据库中,定义新的视图名代替连接的这段语句;
然后,每次查询这个新的视图名的时候,实际上是执行了表连接的代码查询。
1、将两个表(student,score表)联合写成一个表来用,形成一个新的表。
(select student.Sno,Sname,Ssex,Sbirthday,Class,score.Cno,Degree from student
join score on student.Sno=score.Sno) as --作为一个新表,方便查询时使用
2、创建视图
方法一:通过视图---新建视图来操作。
步骤1:在“对象资源管理器” 选择想要建视图的数据库(xinxibiao)名下,点击“+”号后,
在子目录中选中“视图”,右键“新建视图”。
步骤2:在弹出的“添加表”对话框中,选择想要建立关系的表,然后点击“添加”,关闭即可。

步骤3:当两个或几个表建立好关系之后,发现它们之间存在主键与外键的关系,下图就是它们之间的关系表。

步骤4:建立好关系后,完成创建视图,就会显示想要的结果。

方法二:通过代码创建视图
书写格式:
create +(视图英文名)+创建的视图名称 ---类似表的创建格式
as
建立两个或多个表之间的关系的查询语句
go
例:create view studentscore ----创建视图
as
select student.Sno,Sname,Ssex,Sbirthday,Class,score.Cno,Degree from student
join score on student.Sno=score.Sno ---建立student,score 表的关系语句
go
select*from studentscore ----查询结果的语句

【注意事项】视图里面不存在order by, 聚合函数,in,not in 关系运算等语句,它不是一个真正的表,是虚拟的表,数据来源在student,score表中,只能使用表连接的join...on组合数据,方便查询使用。
练习题1:

3、删除视图
方法1:

方法2:通过代码删除
drop view+视图名称
例如: drop view studentscore
4、修改视图
alter view studentscore ---相当于删除视图重写
as
(
select student.Sno,Sname,Ssex,Sbirthday,Class,score.Cno,Degree from student
join score on student.Sno=score.Sno
)
go
【注意事项】同一个关系视图只能建一次,修改之后需重新建立关系,视图本身就是虚拟的不存在,只是为了查询方便使用。
11-10SQLserver基础--数据库之视图的更多相关文章
- day 53-1 Django基础三之视图函数
Django基础三之视图函数 本节目录 一 Django的视图函数view 二 CBV和FBV 三 使用Mixin 四 给视图加装饰器 五 Request对象 六 Response对象 一 Dja ...
- day 67 Django基础三之视图函数
Django基础三之视图函数 本节目录 一 Django的视图函数view 二 CBV和FBV 三 使用Mixin 四 给视图加装饰器 五 Request对象 六 Response对象 一 Dja ...
- MySQL数据库之视图
1 引言 为了简化复杂SQL语句编写,以及提高数据库安全性,MySQL数据库视图特性.视图是一张虚拟表,不在数据库中以储存的数据值形式存在.在开发中,开发者往往只对某些特定数据和所负责的特定任务感兴趣 ...
- MySQL/MariaDB数据库的视图(VIEW)
MySQL/MariaDB数据库的视图(VIEW) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.视图概述 1>.什么是视图 视图就是一个虚拟的表,保存有实表的查询结果 ...
- iOS系列 基础篇 05 视图鼻祖 - UIView
iOS系列 基础篇 05 视图鼻祖 - UIView 目录: UIView“家族” 应用界面的构建层次 视图分类 最后 在Cocoa和Cocoa Touch框架中,“根”类时NSObject类.同样, ...
- 在Oracle 11.2的数据库中建表时遇到 RESULT_CACHE (MODE DEFAULT) ORA-00922: missing or invalid option
在Oracle 11.2的数据库中建表时遇到 RESULT_CACHE (MODE DEFAULT) ORA-00922: missing or invalid option hostdr:[/ho ...
- Oracle数据库之视图与索引
Oracle数据库之视图与索引 1. 视图简介 视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改. 视图基于的表称为基表,视图是存储在数据字典里的一条SE ...
- [SQL基础教程] 5-1视图
[SQL基础教程] 5-1视图 视图和表 从SQL角度看视图就是一张表 视图与表的差别 表保存了实际的数据,视图保存的是SELECT语句: 视图的优点 节省存储空间: 将常用的Select 语句保存成 ...
- 小程序开发基础-swiper 滑块视图容器
小编 / 达叔小生 参考官方文档:https://developers.weixin.qq.com/miniprogram/dev/component/ 小程序开发基础-swiper 滑块视图容器 根 ...
随机推荐
- IOS 发布被拒 PLA 1.2问题 整个过程介绍 02 个人账户升级公司账户
首先,根据上一篇文章得出结论: 1.个人账户,可以发布非营销的APP.例如:公司企业站.个人站 2.公司账户,可以发布营销的APP.例如:京东,天猫,带有盈利的APP 3.企业账户,是使用在公司内部的 ...
- centos 验证mysql的安装
一.验证mysql是否安装 1.whereis mysql:如果安装了mysql就会显示mysql安装的地址 2.which mysql:查看文件的运行地址 3.chkconfig --list my ...
- Codeforces Round #374 (Div. 2) D. Maxim and Array 线段树+贪心
D. Maxim and Array time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
- Android在layout xml中使用ViewStub完成动态加载
Android在layout xml中使用ViewStub完成动态加载 一.Layout XML文件常见的两种模块加载方式 1.静态加载:被加载的模块和其它模块加载的时间一样. <include ...
- Codeforces 610D Vika and Segments 线段树+离散化+扫描线
可以转变成上一题(hdu1542)的形式,把每条线段变成宽为1的矩形,求矩形面积并 要注意的就是转化为右下角的点需要x+1,y-1,画一条线就能看出来了 #include<bits/stdc++ ...
- MySQL 分区知识点(二)
前言: MySQL 5.1+ 版本就开始支持分区功能了. 分区本质上就是在物理文件层面划分了多个物理子表来支撑,或者说是一组底层表的句柄对象的封装. 对于分区表的请求,都是通过句柄对象转化成对存储引擎 ...
- 伯乐在线资讯URL
伯乐资讯URL # encoding: utf-8 import requests from bs4 import BeautifulSoup import csv import time base_ ...
- requests 简单应用
http://docs.python-requests.org/zh_CN/latest/user/quickstart.html ,官方文档.自己有空看看顺便敲两下熟悉一下. 还有别把文件放的太深 ...
- Eclipse中Maven的本地仓库引导配置
简单整理一下,方便理解操作. 1.本地拷贝maven文件后,打开maven中的.setting 文件: 2.配置文件: <?xml version="1.0" encodin ...
- svn文件大小类型限制,提交必须加多少字的说明
#!/bin/sh REPOS="$1" TXN="$2" #此处更改大小限制,这里是5M MAX_SIZE= #此处增加限制文件后缀名 FILTER='\.( ...