一. 实验目的

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. centos 6.5 安装dotnet core 2.2

    .net core 官网地址 https://dotnet.microsoft.com/download 本次安装版本为.net core SDK v2.2.101 1.查看系统版本, 升级系统基本l ...

  2. Audio 标签的使用和自己封装一个强大的React音乐播放器

    原文地址:https://www.dodoblog.cn/blog?id=5be84d5c70b2b617f27a4610 这篇文章主要介绍一下博客里的这个音乐播放器是怎么写的 为了更好的表达高深的东 ...

  3. Docker系列(十一):Kubernetes集群集群部署实践

    Kubernetes分布式集群架构 服务注册和服务发现问题怎么解决的? 分布式通讯的核心就是ip加端口 每个服务分配一个不变的虚拟IP+端口 系统env环境变量里有每个服务的服务名称到IP的映射 如下 ...

  4. webservice技术--服务器端

    1.webservice实现单点登录具体逻辑为 ①软通web端作为客户端,请求wi社区后台,进行登录请求 ②wi社区后台验证t,核实无误后,走登录逻辑,直接进入欢迎页 ③如果有错误,封装错误xml,返 ...

  5. MyEclispe点击add deploment 无反应的处理,无法添加项目到Tomcat

    比如你的工作空间为 E:\workspace-project 找到以下路径: E:\workspace-project\.metadata\.plugins\org.eclipse.core.runt ...

  6. Pyhon基本数据类型

    1.数字 1.布尔型(bool) bool型只有两个值:True和False a = False b = True 2.整形 int型 n = 12 a = "12" 将字符串类型 ...

  7. day70test

    day_70: #api / urls: from django.conf.urls import url from . import views urlpatterns = [ url(r'^car ...

  8. 如何做系列(1)- mybatis 如何实现分页?

    第一个做法,就是直接使用我们的sql语句进行分页,也就是在mapper里面加上分页的语句就好了. <select id="" parameterType="&quo ...

  9. NOIP2017普及组翻车记

    我就是一个这么个人:平常训练好好的,一到考场就炸. 不管是NOIP还是考试都是这样. 比赛时我脑抽,第二题相减后,居然一点一点地模10. 后来觉得很慢,用近乎一个小时时间,打了另一个方法(不是字典树, ...

  10. R语言画图教程之盒形图

    R语言画图教程之盒形图 我们之前有分享过一系列的R语言画图代码(PCA图.Pathway图.火山图.RDA图.热图),今天再来补充一个盒形图(箱形图)的代码. 以下代码只是示例,不能直接搬来用哦,注意 ...