一. 实验目的

1.掌握创建视图的 SQL 语句,数据更新的 SQL 语句。

2.了解使用创建视图向导创建视图的方法。

3.掌握使用 SQL 创建视图的方法,使用 SQL 更新数据的方法。

二. 实验准备

1.了解创建视图与数据更新的方法。

2.掌握创建视图与数据更新的 SQL 语句的语法格式。

3.了解删除视图与数据更新的 SQL 语句的用法。

三. 实验要求

1. 用不同的方法创建视图,练习数据更新。

2. 提交实验报告,并验收实验结果。

四. 实验内容

1)定义计算机系学生基本情况视图 V_Computer;
USE stsc
GO
CREATE VIEW V_Computer
AS
SELECT *
FROM Student 2)将 student, course 表和 score 表中学生的学号,姓名,课程号,课程名,成绩定义为视图 V_S_C_G;
USE stsc
GO
CREATE VIEW V_S_C_G
AS
SELECT Student.stno, Student.stname, Course.cname ,Score.grade
FROM Student,Score,Course 3)将各系学生人数,平均年龄定义为视图 V_NUM_AVG;
USE stsc
GO
CREATE VIEW V_NUM_AVG("系名","平均人数", "平均年龄")
AS
SELECT speciality, COUNT(*), AVG(year(getdate())-year(stbrithday))
FROM Student
GROUP BY speciality 4)定义一个反映学生出生年份的视图 V_YEAR;
USE stsc
GO
CREATE VIEW V_Year("出生日期")
AS
SELECT stbrithday
FROM Student 5)将各位学生选修课程的门数及平均成绩定义为视图 V_AVG_S_G;
USE stsc
GO
CREATE VIEW V_AVG_S_G("学号", "选修门数", "平均成绩")
AS
SELECT Student.stno, COUNT(*), AVG(Score.grade)
FROM Student, Score
WHERE Score.stno = Student.stno
GROUP BY Student.stno 6)将各门课程的选修人数及平均成绩定义为视图 V_AVG_C_G。
USE stsc
GO
CREATE VIEW V_AVG_C_G("课程号", "平均成绩")
AS
SELECT Course.cno, AVG(Score.grade)
FROM Course, Score
WHERE Score.cno = Course.cno
GROUP BY Course.cno 2.查询视图
1)通过查询 V_AVG_S_G 视图得到平均成绩为 90 分以上的学生的学号和成绩; USE stsc
SELECT *
FROM V_AVG_S_G
WHERE "平均成绩" >= 90 2)通过查询 V_NUM_AVG 视图得到人数超过 10 人,且平均年龄在 18 岁以上的院系;
USE stsc
SELECT *
FROM V_NUM_AVG
WHERE "平均年龄" >= 18 AND "平均人数" >= 10 3.删除视图
使用 SQL 语句删除视图 V_YEAR。
USE stsc
DROP VIEW V_Year 4.数据更新 (1)将一个新学生记录(学号:XX(根据自己定义的学号修改);姓名:陈冬;性别: 男;所在系:XX(根据自己定义的系名修改);年龄:18)插入 student 表中;
USE stsc
INSERT INTO Student values
('122009', '陈冬', '男', '1992-11-23', '计算机', 50)
(2)插入一条选课记录:学号为 200215126 的学生选修了 1 号课程;
USE stsc
INSERT INTO Score values
('200215126 ', '102', NULL) (3)将学生 XX(根据自己定义的学号修改)所在系改为其他系别(例如:数学系, 具体地,根据自己定义的系名修改);
USE stsc
UPDATE Student SET speciality = '通信'
WHERE stno = '121002'
(4)删除学号为 XX 的学生记录;
USE stsc
DELETE FROM Student
WHERE stno = '121002'
(5)删除 XX 系(根据自己定义的系名修改)所有学生。
USE stsc
DELETE FROM Student
WHERE Student.speciality = '通信'

SQL Sever实验三 视图与数据更新的更多相关文章

  1. SQL Sever实验一 创建和删除数据库数据表

    一. 实验目的 1. 熟悉SQL    Server    2008    中SQL    Server    Management    Studio的环境 2. 了解SQL    Server   ...

  2. SQL Sever实验二 交互式 SQL

    一. 实验目的 1.观察查询结果, 体会 SELECT 语句实际应用: 2.要求学生能够使用 SELECT 语句进行数据库查询. 3. 熟练掌握各种查询的操作方法. 二. 实验准备 1. 完成实验一所 ...

  3. SQL基本查询_多表查询(实验三)

    SQL基本查询_多表查询(实验三) 题目要求(一) 针对emp.dept两表完成如下查询,并验证查询结果的正确性 使用显式内连接查询所有员工的信息,显示其编号.姓名.薪水.入职日期及部门名称: 使用隐 ...

  4. SQL Sever查询语句集锦

    一. 简单查询简单的Transact-SQL查询只包括选择列表.FROM子句和WHERE子句.它们分别说明所查询列.查询的表或视图.以及搜索条件等. 例如,下面的语句查询testtable表中姓名为“ ...

  5. SQL Sever 学习系列之一

    SQL Sever 学习系列之一 本学习系列,从实际工作需要中积累,对于一个新手而言,写出几条漂亮的查询语句,应该是可以受启发的. 一.问题的需求是:员工薪酬发放,现有资金能发放多少人,哪些人应得? ...

  6. 数据库操作----找了MySQL和SQL Sever两个的基础语句

    这是MySQL的基本操作: 1 登入数据库:mysql -uroot -p+密码 (SQL Sever登入: osql -U 用户名 -P 密码) 显示已存在的数据库:show databases; ...

  7. 你真的会玩SQL吗?三范式、数据完整性

    你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...

  8. 1-02 启动和停止Sql Sever的服务

    启动Sql  Sever服务的三种方式 1:后台启动服务. 2:Sql Sever配置管理员启动服务. 3:在运行窗口中使用命令启动和停止服务: 启动:net start mssqlsever. 停止 ...

  9. SQL*Loader实验笔记【二】

      所有SQL*Loader实验笔记 实验案例总结(1-7):     SQL*Loader实验笔记[一] 实验案例总结(8-13):   SQL*Loader实验笔记[二] 实验案例总结(14-19 ...

随机推荐

  1. 你知道的和不知道的sass

    关于sass,大多数人的认识一个写css的工具而已 其实就是的 但是这个工具的威力你发挥了多少呢... 以下全部都是干货,希望你能用在自己的项目里 定义集合 我们通常是这么定义变量的 $warning ...

  2. iOS7 断了统计和追踪用户的后路

    评论里大家都认可用identifierForVendor 然后用keychain和iCloud各保存一份. 看来这是接近最终结果的办法了. 官方文档又说了下面的话, 又有点费解. 我们只要把最后一组s ...

  3. Android基础控件ScrollView滚动条的使用

    1.简介 ScrollView是一个FrameLayout的容器,不过在他的基础上添加了滚动,允许显示的比实际多的内容!另外,只能够往里面放置一个子元素,可以是单一的组件,又或者一个布局包裹着的复杂的 ...

  4. Spring MVC(十)--通过表单序列化传递参数

    通过表单序列化传递参数就是将表单数据转化成字符串传递到后台,序列化之后参数请求变成这种模式param1=value1&&param2=value2,下面用代码实现. 1.创建表单 &l ...

  5. axis2开发webservice接口入门到精通详解(转)

    最近在开发接口,在网上发现了两篇不错的文章,给大家分享下: 第一篇: 一.Axis2的下载和安装 1.可从http://ws.apache.org/axis2/ 下载Axis2的最新版本:      ...

  6. ubuntu与xshell连接不起来:

  7. spring boot 项目添加maven依赖时provided

    spring boot 项目是自带tomcat 的,但是我们有时候是需要把项目打包成war 然后放到独立的tomcat中运行的,这个时候我们就需要将它自带的tomcat给排除开,这时候我们就可以使用& ...

  8. Joomla 随记

    使用 joomla 开发好几个网站了,记录一下基础的东西吧~ 一.下载: 进入 joomla官网 下载:   二.安装 Joomla: 把下载好的 joomla 放到网站文件夹(图为wamp阿帕奇服务 ...

  9. spring cloud深入学习(九)-----配置中心服务化和高可用

    在前两篇的介绍中,客户端都是直接调用配置中心的server端来获取配置文件信息.这样就存在了一个问题,客户端和服务端的耦合性太高,如果server端要做集群,客户端只能通过原始的方式来路由,serve ...

  10. volatile和指令重排序

    volatile 的作用 1 精致指令重排序 2 多线程访问同一个变量的时候,每次都是取最新的,而不会使用当前cpu缓存的那一份.