zoukankan      html  css  js  c++  java
  • SQL Sever实验三 视图与数据更新

    一. 实验目的

    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 = '通信'
  • 相关阅读:
    使用::befor和::after伪元素在网站中添加图标
    使用LESS对CSS进行预处理
    window.innerWidth和document.body.clientWidth的区别
    javascript原型链继承
    javascript中的类型检测
    ASP.NET网站报Service Unavailable错误的解决办法
    在ASP.NET MVC中使用UEditor无法提交的解决办法
    EasyUI DataGrid设置列宽为百分比导致表头和内容错位的解决方法
    使用JS读取本地文本文件(兼容各种浏览器)
    美化上传文件按钮
  • 原文地址:https://www.cnblogs.com/lMonster81/p/10434026.html
Copyright © 2011-2022 走看看