当前位置: 首页 > news >正文

SQL实验 数据的插入、修改和删除操作

一、实验目的

1.掌握Management Studio的使用。

2.掌握SQL中INSERT、UPDATE、DELETE命令的使用。

二、实验内容及要求

用SQL语句完成下列功能。使用数据库为SCHOOL数据库。

1、新开设一门课程,名叫网络安全与防火墙,学时40,编号为“0118”,主要介绍网络的安全与主要的防火墙软件。    

--新开设一门课程,名叫网络安全与防火墙,学时40,编号为“0118”,主要介绍网络的安全与主要的防火墙软件。INSERT INTO Course(Course_id,Course_name,Course_hour,Introduce)VALUES('0118','网络安全与防火墙',40,'介绍网络的安全与主要的防火墙软件')

2、更新所有职称为“助教”的教师职称为“助理教师”。

--更新所有职称为“助教”的教师职称为“助理教师”。UPDATE TeacherSET TechPost='助理教师'WHERE TechPost='助教'

3、学号为“130101005”的学生的“数据结构”课程成绩改为80分。

UPDATE StudentGradeSET Grade=80WHERE Stu_id=130101005AND Course_id IN (SELECT Course_idFrom CourseWHERE Course_name='数据结构')

4、删除“利旭勉”的选课记录。

--删除“利旭勉”的选课记录DELETEFROM StudentGradeWHERE Stu_id IN(SELECT Stu_idFROM StudentWHERE Stu_name='利旭勉')

5、先建立monitor表,其结构与student表大致一样.包含student表的学号、姓名、性别和班级编号,然后把各班班长的个人信息插入到monitor表中。

--先建立monitor表,其结构与student表大致一样.包含student表的学号、姓名、性别和班级编号,然后把各班班长的个人信息插入到monitor表中。--建立monitor表CREATE TABLE Monitor(Stu_id varchar(10) NOT NULL,Stu_name varchar(8) NOT NULL,Stu_sex varchar(2) DEFAULT '男'  NOT NULL,Age  AS (datepart(year,getdate())-datepart(year,Birthday)),  --计算列Birthday smalldatetime NOT NULL,Phone varchar(8) NULL,Address varchar(100) NULL,Class_id varchar(4) NULL,CONSTRAINT PK_Monitor PRIMARY KEY CLUSTERED (Stu_id ASC) --主键,聚集索引(clustered)) --筛选班长INSERTINTO Monitor(Stu_id,Stu_name,Stu_sex,Birthday,Phone,Address,Class_id)SELECT Stu_id,Stu_name,Stu_sex,Birthday,Phone,Address,Student.Class_idFROM Student JOIN Class ON Student.Stu_id=Class.MonitorWHERE Class.Monitor IS NOT NULl

6、删除studentgrade表中学号以“2017”开头的学生选修课程的记录。

 --删除studentgrade表中学号以“2017”开头的学生选修课程的记录。--材料未提供学号以“2017”开头的学号,因此将其换为“14050”DELETEFROM StudentGradeWHERE Stu_id LIKE '14050%'

7、删除课程名为“C语言”的课程信息和所有这门课的选课信息。(不用级联删除,因级联需在创建表时定义。考虑各个表删除的先后顺序)

 --删除课程名为“C语言”的课程信息和所有这门课的选课信息。(不用级联删除,因级联需在创建表时定义。考虑各个表删除的先后顺序)--材料未提供“C语言”,因此将其换位“数据结构”-- 删除与 Course 表相关的成绩记录--未能删除Course表对应数据与 REFERENCE 约束"FK_CourseTeacher_Course"冲突--解决方法:先删除CourseTeacher表中对应数据,再删除Course表中对应的数据(tip:不能合并表,因为合并表后要考虑删除的先后顺序)DELETE FROM StudentGradeWHERE Course_id IN (SELECT Course_idFROM CourseWHERE Course_name = '数据结构')-- 删除 CourseTeacher 表中的对应记录DELETE FROM CourseTeacherWHERE Course_id IN (SELECT Course_idFROM CourseWHERE Course_name = '数据结构')---- 删除 Course 表中的对应记录DELETE FROM CourseWHERE  Course_name = '数据结构'

8、把数据库中学生表学号为“130101005”的学生的学号改为“130101006”,请关注是否能修改成功。为什么?

--把数据库中学生表学号为“130101005”的学生的学号改为“130101006”,请关注是否能修改成功。为什么?UPDATE StudentSET Stu_id='130101006'WHERE Stu_id='130101005'
不能修改成功,不能在对象“dbo.Student”中插入重复键。重复键值,因为违反了 PRIMARY KEY 约束

http://www.lryc.cn/news/362073.html

相关文章:

  • es初始化
  • 【蓝桥杯】常见的数据结构
  • STM32H750外设ADC之外部触发和注入管理
  • 软设之排序算法对比
  • javascript导入excel文件
  • 「C系列」C 变量及常见问题梳理
  • <网络安全VIP>第二篇《工业控制软件》
  • 微服务:Rabbitmq中的不同交换机的使用Fanout、Direct、Topic(消息队列中间件)
  • 数据结构单链表的前插法实现
  • Cocos Creator开发学习路线
  • C语言:IO操作
  • 算法 | 刷题日记
  • 微信小程序登录接口
  • VBA实战(Excel)(5):介绍一种排列组合算法
  • 迭代器的使用
  • 安卓手机APP开发___广播概述
  • 【封装】Unity切换场景不销毁物体
  • 基于学习的决策树
  • godot.bk2
  • STM32 IIC 使用 HAL 库操作eeprom
  • YOLOv8+PyQt5海洋船只检测(可以重新训练,yolov8模型,从图像、视频和摄像头三种路径识别检测)
  • PCL 高阶多项式曲线回归拟合(二维)
  • 深入理解 Python3 函数:从基础语法到高级应用
  • 03_初识Spring Cloud Gateway
  • python数据分析——线性模型
  • 网络原理——HTTP/HTTPS ---- HTTPS
  • 网络协议二
  • 内存映射mmap技术详解
  • react 合成事件
  • springboot配置集成RedisTemplate和Redisson,使用分布式锁案例