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 Teacher

SET TechPost='助理教师'

WHERE TechPost='助教'

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

UPDATE StudentGrade

SET Grade=80

WHERE Stu_id=130101005

AND Course_id IN 

(SELECT Course_id

From Course

WHERE Course_name='数据结构')

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

--删除“利旭勉”的选课记录

DELETE

FROM StudentGrade

WHERE Stu_id IN

(SELECT Stu_id

FROM Student

WHERE 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)

 ) 

 --筛选班长

 INSERT

 INTO Monitor(Stu_id,Stu_name,Stu_sex,Birthday,Phone,Address,Class_id)

 SELECT Stu_id,Stu_name,Stu_sex,Birthday,Phone,Address,Student.Class_id

 FROM Student JOIN Class ON Student.Stu_id=Class.Monitor

 WHERE Class.Monitor IS NOT NULl

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

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

 --材料未提供学号以“2017”开头的学号,因此将其换为“14050”

 DELETE

 FROM StudentGrade

 WHERE Stu_id LIKE '14050%'

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

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

 --材料未提供“C语言”,因此将其换位“数据结构”

 -- 删除与 Course 表相关的成绩记录

 --未能删除Course表对应数据与 REFERENCE 约束"FK_CourseTeacher_Course"冲突

 --解决方法:先删除CourseTeacher表中对应数据,再删除Course表中对应的数据(tip:不能合并表,因为合并表后要考虑删除的先后顺序)

DELETE 

FROM StudentGrade

WHERE Course_id IN (

    SELECT Course_id

    FROM Course

    WHERE Course_name = '数据结构'

)



-- 删除 CourseTeacher 表中的对应记录

DELETE 

FROM CourseTeacher

WHERE Course_id IN (

SELECT Course_id

FROM Course

WHERE Course_name = '数据结构'

)

---- 删除 Course 表中的对应记录

DELETE 

FROM Course

WHERE  Course_name = '数据结构'

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

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

UPDATE Student

SET Stu_id='130101006'

WHERE Stu_id='130101005'
不能修改成功,不能在对象“dbo.Student”中插入重复键。重复键值,因为违反了 PRIMARY KEY 约束

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/676908.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Leetcode - 周赛400

目录 一,3168. 候诊室中的最少椅子数 二,3169. 无需开会的工作日 三,3170. 删除星号以后字典序最小的字符串 四,3171. 找到按位与最接近 K 的子数组 一,3168. 候诊室中的最少椅子数 本题是一道模拟题,直…

Bootstrap框架最新V5 快速入门直通

目录 Bootstrap - 前言 Bootstrap - 下载 Bootstrap - 使用 Bootstrap - 学习 Bootstrap - 栅格系统 Bootstrap - 全局样式 Bootstrap - 组件(Coponents) Bootstrap - 字体图标 Bootstrap - 前言 Bootstrap是由Twitter公司开发维护的前端UI框架,它提供了大量…

【YOLOv5/v7改进系列】引入Slimneck-GSConv

一、导言 GSConv旨在平衡模型的准确度与速度,针对自动驾驶车辆中目标检测任务设计。从类脑研究中得到的直观理解是,具有更多神经元的模型能够获得更强的非线性表达能力。但是,不容忽视的是生物大脑处理信息的强大能力和低能耗远远超过计算机…

【Linux】Linux项目自动化构建工具——make/Makefile

1.背景 会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的 规则来指定,哪些文件需要先编译,哪些文件需…

前端框架前置知识之Node.js:fs模块、path模块、http模块、端口号介绍

什么是模块? 类似插件,封装了方法 / 属性 fs 模块- 读写文件 代码示例 // 1. 加载 fs 模块对象 const fs require(fs) // 2. 写入文件内容 fs.writeFile(./test.txt, hello, Node.js, (err) > {if (err) console.log(err) //若 err不为空&#xf…

Linux的网络配置

查看网络配置命令 一、查看所有活动的网络接口信息 ifconfig ifconfig 展示的是当前设备正在工作的网卡(启动的设备) ifconfig -a 展示所有的网络设备 ifconfig ens33 查看指定网卡设备 ifconfig ens33 down 关闭网卡 或者 ifdown ens33 &#xff0…

Java集合概述

分类 分为两大类:Collection接口类和Map接口类 这两个接口都继承自一个共同的接口:Iterable接口,意为可迭代的 Iterable接口当中有一个Iterator迭代器接口对象,作为接口的变量(public static final修饰)…

MySQL—约束—外键约束中删除和更新行为(基础)

一、引言 上一个博客讲解并演示给字段加外键约束,以及通过外键来保证数据的一致性和完整性。我们一旦为子表 emp 字段 dept_id 添加外键关联之后,再去删除父表的数据之后,判断当前父表的这条数据是否在子表关联关系。如果存在,则不…

11.6 归并排序

目录 11.6 归并排序 11.6.1 算法流程 11.6.2 算法特性 11.6.3 链表排序 11.6 归并排序 归并排序(merge sort)是一种基于分治策略的排序算法,包含图 11-10 所示的“划分”和“合并”阶段。 划分阶段:通过递归不断地…

vue前端实现页面禁止缩放 前端适配问题处理 前端项目多端适配解决方案

在前端项目中,如果一个系统页面可以缩放可能会导致多种异常情况,这些异常情况涉及到页面布局、元素尺寸、事件触发、响应式设计和用户体验等方面。 1.布局错乱:页面元素在缩放后可能会出现错位、重叠或部分隐藏的情况,导致页面布局混乱,影响用户对页面内容的理解和操作。这…

接口签名和postman预处理生成签名

nestjs后端代码 controller Get(md5hmacSHA1b64)postMd5hmacSHA1b64(Req() request: Request, Query() query) {// 获取GET请求参数const queryParamsMap new Map(Object.entries(query));return this.handleMd5hmacSHA1b64(queryParamsMap, request);}Post(md5hmacSHA1b64)U…

达梦数据库相关SQL及适配Mysql配置总结

🍓 简介:java系列技术分享(👉持续更新中…🔥) 🍓 初衷:一起学习、一起进步、坚持不懈 🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏 🍓 希望这篇文章对你有所帮助,欢…

ApiJson简单使用

前言 最近在正式迭代中插入了一个大屏演示项目,因为后端开发人员任务都安排满了,而演示项目逻辑比较简单,大多是直接查表就能搞定,所以只能想办法让前端直接和数据库交互,增加开发速度。在找工具时发现了ApiJson。尝试…

C语言学习之结构体

结构体: c语言---提供的一种方式,可以让用户自定义数据类型,用于处理复杂的数据类型。 struct 结构体名 { 成员表列 }; 构造一个结构体 结构体变量的引用: 方法: 结构体变量名.成员名 . 结构体成员运算符 //表示 从属关系 s.name //表…

MySQL-权限管理(二)

一 host中的含义 /usr/local/mysql/bin/mysql -pLXYlxy2:024.#8u} -S /data/mysql/tmp/mysqld.sock select user,host,authentication_string from mysql.user; %:主要允许从任何主机连接到MySQL服务器,即外部连接localhost: 代表只允许本地主机连接到MySQL服务器&…

SpringBoot——整合Servlet的三大组件:过滤器(Filter)

目录 过滤器 一、用过滤器检查用户是否登录 LoginFilter自定义过滤器 FilterConfig配置类 FilterController控制器 SpringbootFilterApplication启动类 二、用过滤器统计资源访问量 LoginFilter FilterController 在开发SpringBoot项目时,开发人员经常需…

使用Obfuscar 混淆WPF(Net6)程序

Obfuscar 是.Net 程序集的基本混淆器,它使用大量的重载将.Net程序集中的元数据(方法,属性、事件、字段、类型和命名空间的名称)重命名为最小集。详细使用方式参见:Obfuscar 在NetFramework框架进行的WPF程序的混淆比较…

乡村振兴的乡村旅游品质提升:提升乡村旅游服务质量,打造乡村旅游品牌,增强乡村旅游吸引力,打造具有旅游特色的美丽乡村

目录 一、引言 二、提升乡村旅游服务质量 1、完善基础设施建设 2、提升服务人员素质 3、规范服务流程 三、打造乡村旅游品牌 1、挖掘乡村文化特色 2、打造特色旅游产品 3、加强品牌宣传和推广 四、增强乡村旅游吸引力 1、创新旅游体验方式 2、打造旅游精品线路 3、…

【NOI】C++程序结构入门之循环结构二-for循环

文章目录 前言一、for循环1.导入2.语法3.使用场景4.条件控制5.小结 二、例题讲解问题:1264 - 4位反序数问题:1085 - 寻找雷劈数问题:1057 - 能被5整除且至少有一位数字是5的所有整数的个数问题:1392 - 回文偶数?问题&a…

Windows下设置pip代理(proxy)

使用场景 正常网络情况下我们安装如果比较多的python包时,会选择使用这种 pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-hostpypi.tuna.tsinghua.edu.cn 国内的镜像来加快下载速度。 但是,当这台被限制上…