• 【数据库系统概论】实训(四)


    实验四

    使用数据库datatest

    1. 备份datatest数据库。
    2. 通过datatest数据库备份文件,建立数据库datatest02数据库。
    3. 删除数据库datatest02中表student、class、course和score的所有记录。
    4. 删除数据库datatest02中表student、class、course和score。
    5. 删除数据库datatest02
    6. 建立与student表数据结构完全相同的表studentnation,将表student中少数民族学生的记录整体存入表studentnation 。
    7. 将会计学07(3)班的男同学的成绩增加5分。
    8. 将王红敏同学选修的“数据库系统”课程的成绩改为88分
    9. 将每个班级的学生人数填入到班级表的ClassNum
    10. 删除选修了“大学语文”课程的选课记录
    11. 删除平均分在60分到70分之间的同学选课记录
    12. 创建仅包含少数民族学生的视图View-Studentnation
    13. 查询视图View-Studentnation
    14. 通过视图View-Studentnation,查询蒙古族学生
    15. 创建一个包含学生学号、姓名、课程号、课程名、获得的学分和成绩(成绩大于等于60分)的View-Score60
    16. 查询视图View- Score60
    17. 通过视图View-Score60,查询选修“数据库系统”课程成绩大于等于85分的学生学号和姓名。
    18. 删除视图View-Studentnation

    1.备份datatest数据库。

    https://blog.csdn.net/qq_42759120/article/details/123151453?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166773828316782412572853%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=166773828316782412572853&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-123151453-null-null.142v63control,201v3add_ask,213v1control&utm_term=sql%E5%A4%87%E4%BB%BD%E6%95%B0%E6%8D%AE%E5%BA%93&spm=1018.2226.3001.4187

    2.通过datatest数据库备份文件,建立数据库datatest02数据库。

    3. 删除数据库datatest02中表student、class、course和score的所有记录。

    4. 删除数据库datatest02中表student、class、course和score。

    5. 删除数据库datatest02

    6. 建立与student表数据结构完全相同的表studentnation,将表student中少数民族学生的记录整体存入表studentnation 。

    7. 将会计学07(3)班的男同学的成绩增加5分。

    USE datatest
    GO
    
    UPDATE Score 
    SET score=score+5
    FROM Score a, Student b, Class c
    WHERE a.studentNo=b.studentNo AND b.classNo=c.classNo
          AND c.classno='C0703' AND sex='男'
    
    SELECT *
    FROM Score
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    8. 将王红敏同学选修的“数据库系统”课程的成绩改为88分

    9. 将每个班级的学生人数填入到班级表的ClassNum

    在这里插入图片描述
    班级数据

    USE datatest
    GO
    
    UPDATE Class 
    SET classNum=sCount 
    FROM Class a, 
                  ( SELECT classNo, count(*) sCount
                    FROM Student
                    GROUP BY classNo ) b
    WHERE a.classNo=b.classNo
    
    SELECT *
    FROM Class
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    结果
    在这里插入图片描述

    10. 删除选修了“大学语文”课程的选课记录

    11. 删除平均分在60分到70分之间的同学选课记录

    12. 创建仅包含少数民族学生的视图View-Studentnation

    use datatest3
    go
    
    CREATE VIEW ViewStudentnation
    AS
          SELECT * 
          FROM Student
          WHERE nation  <> '汉族'
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述

    13. 查询视图View-Studentnation

    use datatest3
    go
    
    SELECT *
    FROM ViewStudentnation
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    14. 通过视图View-Studentnation,查询蒙古族学生

    use datatest3
    go
    
    SELECT *
    FROM ViewStudentnation
    WHERE nation ='蒙古族'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    15. 创建一个包含学生学号、姓名、课程号、课程名、获得的学分和成绩(成绩大于等于60分)的View-Score60

    USE datatest
    GO
    
    CREATE VIEW ScoreView
    AS
          
          SELECT a.studentNo, a.studentname, b.courseNo,b.courseName, b.creditHour,c.Score
          FROM Student a, Course b, Score c
          WHERE a.studentNo=c.studentNo AND b.courseNo=c.courseNo AND c.Score>=60
    
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    16. 查询视图View- Score60

    USE datatest
    GO
    
    --CREATE VIEW ScoreView
    --AS
          
    --      SELECT a.studentNo, a.studentname, b.courseNo,b.courseName, b.creditHour,c.Score
    --      FROM Student a, Course b, Score c
    --      WHERE a.studentNo=c.studentNo AND b.courseNo=c.courseNo AND c.Score>=60
    
    SELECT *
    FROM ScoreView
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    17. 通过视图View-Score60,查询选修“数据库系统”课程成绩大于等于85分的学生学号和姓名。

    SELECT studentNo,studentName
    FROM ScoreView
    WHERE courseName='数据库系统' AND Score >=65
    
    • 1
    • 2
    • 3

    18. 删除视图View-Studentnation

    USE datatest
    GO
    
    --CREATE VIEW Score60
    --AS
          
    --      SELECT a.studentNo, a.studentname, b.courseNo,b.courseName, b.creditHour,c.Score
    --      FROM Student a, Course b, Score c
    --      WHERE a.studentNo=c.studentNo AND b.courseNo=c.courseNo AND c.Score>=60
    DROP VIEW Score60
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
  • 相关阅读:
    Java自动化测试框架有哪几类、区别是什么?
    基于Docker+Jenkins+Gitl搭建持续集成环境(部分关键笔记)
    Linux系列之:9秒钟掌握多种实时查询日志的方法,再也不用cat命令了。
    计算机毕业设计(附源码)python-志愿者管理系统
    H5游戏开发H5休闲小游戏定制H5软件定制
    第一章:最新版零基础学习 PYTHON 教程(第十三节 - Python 条件和循环语句–Python 尝试异常)
    运维的操作红线
    怎样优雅地增删查改(四):创建通用查询基类
    无涯教程-JavaScript - DEC2BIN函数
    JS 通过年份获取月,季度,半年度,年度
  • 原文地址:https://blog.csdn.net/Algernon98/article/details/127664274