一. 实验目的

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. LintCode_13 字符串查找

    题目 对于一个给定的 source 字符串和一个 target 字符串,你应该在 source 字符串中找出 target 字符串出现的第一个位置(从0开始).如果不存在,则返回 -1. 您在真实的面 ...

  2. 为什么说 Python 是数据科学的发动机(一)发展历程(附视频中字)

    为什么说 Python 是数据科学的发动机(一)发展历程(附视频中字) 在PyData Seattle 2017中,Jake Vanderplas介绍了Python的发展历程以及最新动态.在这里我们把 ...

  3. ES6 学习笔记(基础)

    书链接:http://es6.ruanyifeng.com/ #.let let 不存在“变量提升” 暂时性死区(即:let 所定义的变量在局部作用域中不受外界影响) var tmp = 123; i ...

  4. mybtais分批insert

    这里自己写了个对集合按一批的数量进行分批操作的分页bean,见PagenationUtil如下: package com.util; import java.util.List ; /** * @au ...

  5. Ajax之json返回结果是集合的处理

    Jquery实现ajax: $.ajax({       type    //数据的提交方式:get和post        url   //数据的提交路径        async   //是否支持 ...

  6. vue elment.style样式修改(第三方组件自生成元素)

    参考:https://blog.csdn.net/dcxia89/article/details/80402490         https://blog.csdn.net/jianglibo102 ...

  7. quartz 定时任务配置文件信息

    quartz 定时任务配置文件有五大要素,配置好这五大要素,quartz 就能够正常的工作. 五大要素分别是: 1.工作的 bean:具体是哪个 Java 类来作为定时任务的文件入口,并配置该 bea ...

  8. 关于set的unordered特性

    关于set排序无序的问题,原因是set使用哈希表做内存索引. 详细介绍可见: https://stackoverflow.com/questions/12165200/order-of-unorder ...

  9. 【codeforces 507E】Breaking Good

    [题目链接]:https://vjudge.net/contest/164884#problem/D [题意] 给你一张图; 图中有些路是完好的;但有些路还没修好; 先不管路有没有修好; 问你从起点到 ...

  10. element-ui 使用笔记

    1,获取级联选择器 cascader的值 获取value值:就是v-model绑定的值, 获取label值:要先给cascader组件一个ref值,然后通过 this.$refs.组件的ref值.cu ...