【SQL Server数据库】数据的增删改操作

目录

一、用SQL语句完成下列功能。

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

2、先建立monitor表,其结构与student表大致一样.包含student表的学号、姓名、性别和班级编号,然后把学生相应的个人资料插入到monitor表中。

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

4、在所有经济系班级的名称前加上“经济系”三个字。

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

6、删除studentgrade表中所有成绩不及格的记录。

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

8、删除课程名为“C语言导论”的课程信息和所有这门课的选课信息。

二、小结

1.思考Alter与Update,Drop与Delete的区别

2.对数据进行插入、修改、删除时需要注意哪些问题?


一、用SQL语句完成下列功能。

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

insert into Course values 
('0118','网络安全与防火墙','40','网络的安全与主要的防火墙软件');

 

2、先建立monitor表,其结构与student表大致一样.包含student表的学号、姓名、性别和班级编号,然后把学生相应的个人资料插入到monitor表中。

-- 建表create table Monitor(Stu_id varchar(10) not null ,Stu_name varchar(8) not null ,Stu_sex varchar(2) not null default '男',Class_id varchar(4) not null,CONSTRAINT pk_monitor primary key clustered (Stu_id),CONSTRAINT fk_class foreign key (Class_id) references Class(Class_id))-- 插入数据insert into Monitorselect s.Stu_id, s.Stu_name, s.Stu_Sex, s.Class_idfrom Student s,Class cwhere s.Stu_id = c.Monitor;


3、更新所有职称为助教的教师职称为助理教师

update Teacherset TechPost = '助理教师'where TechPost = '助教';

4、在所有经济系班级的名称前加上经济系三个字。

/*1. 直接更新无法完成,因为有触发器影响*//*以下语句查到了Class表存在触发器T_3*/use schoolgoexec sp_helptrigger "Class"/*停用触发器*/ALTER TABLE Class DISABLE TRIGGER T_3;/*更新成功*/update Class set Class_name = concat('经济系',Class_name)where Depar_id = (select Depar_id from Deparment where Depar_name = '经济系');/*2.用 SUBSTRING函数 去掉 Class_name 字段值的第一个字符,即索引从1开始*/-- 从第二个字符开始截取长度为原始字符串长度减去1的子字符串。update Classset Class_name = substring(Class_name, 2, len(Class_name))where Depar_id = (select Depar_id from Deparment where Depar_name = '经济系');

5、学号为980101005”的学生的数据结构课程成绩改为80分。

update StudentGradeset Grade = 80where Stu_id = '980101005'and Course_id = (select Course_idfrom Coursewhere Course_name = '数据结构');

6、删除studentgrade表中所有成绩不及格的记录。

delete from StudentGrade where Grade < 60;

7、删除studentgrade表中学号以99开头的学生选修课程的记录。

delete from StudentGrade where Stu_id like '99%';

8、删除课程名为“C语言导论”的课程信息和所有这门课的选课信息。

(尽量不用级联删除,因级联需在创建表时定义。)

/*先删除选课记录,再删除课程教师表里对应的安排,最后删除课程*/delete from StudentGrade where Course_id = (select Course_id from Course where Course_name = 'c语言');delete from CourseTeacher where Course_id = (select Course_id from Course where Course_name = 'c语言');delete from Course where Course_name = 'c语言';

二、小结

1.思考Alter与Update,Drop与Delete的区别

ALTER:用于修改数据库对象的结构或属性,例如修改表的列、添加索引或约束等。ALTER 语句通常用于更改数据库架构

UPDATE:用于修改表中的数据,可以将表中的一些行或列的值更改为新的值。UPDATE 语句用于更新已有的数据

DROP 和 DELETE 都可以用于删除数据或对象,但它们的作用范围不同。

DROP:通常用于删除数据库对象,例如表、视图、存储过程或函数等。

DELETE:用于删除表中的数据,可以删除表中的一些行或列。DELETE 语句用于删除已有的数据。

2.对数据进行插入、修改、删除时需要注意哪些问题?

数据完整性:确保插入、修改或删除的数据满足数据库表的约束和规则。例如,不违反主键、唯一性约束以及外键关系等。

数据备份和恢复:在进行重要的数据插入、修改和删除操作之前,应该先进行数据备份。这样可以在意外情况下恢复数据,避免数据丢失或损坏。

数据一致性维护:在进行数据修改和删除操作时,需要考虑与其他相关数据的一致性。例如,在删除某个表中的数据时,可能需要同时更新其他表中的相关数据,以确保数据的一致性。

错误处理和异常处理:在进行数据操作时,需要考虑可能出现的错误和异常情况,并进行适当的错误处理和异常处理。这包括处理数据冲突、数据重复、约束冲突等情况,以及记录错误日志或向用户提供适当的错误提示。

性能优化:对于大规模的数据插入、修改和删除操作,需要考虑性能优化的问题。可以通过批量操作、合理使用索引、优化查询语句等方式来提高操作的效率和响应速度。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图书管理系统(详解版 附源码)

目录 项目分析 实现页面 功能描述 页面预览 准备工作 数据准备 创建数据库 用户表 创建项目 导入前端页面 测试前端页面 后端代码实现 项目公共模块 实体类 公共层 统一结果返回 统一异常处理 业务实现 持久层 用户登录 用户注册 密码加密验证 添加图书…

Cesium默认bing地图数据,还支持哪些地图的数据源呢?

传统的前端开发增长乏力了&#xff0c;新兴的web3D方向前端开发需求旺盛&#xff0c;这一块在国外很成熟&#xff0c;在国内兴起不久&#xff0c; 甚至很多前端老铁都没听过&#xff0c;没见过&#xff0c;没有意识到&#xff0c;前端除了框架、vue、uniapp这些烂大街的&#x…

黑马苍穹外卖7 用户下单+订单支付(微信小程序支付流程图)

地址簿 数据库表设计 就是基本增删改查&#xff0c;与前面的类似。 用户下单 用户点餐业务流程&#xff1a; 购物车-订单提交-订单支付-下单成功 展示购物车数据&#xff0c;不需要提交到后端 数据库设计&#xff1a;两个表【订单表orders&#xff0c;订单明细表order_d…

cnpm run dev 报错 Error: Cannot find module ‘fs/promises’

主要原因是babel版本冲突 卸载以下依赖可以解决问题&#xff1a; 之后重新安装babel-loader依赖 可能会报以下错误&#xff1a; 接着安装babel-core依赖 项目顺利启动

【启明智显分享】低成本RISC-V工业级HMI方案推荐

伴随着工业4.0的迅猛发展&#xff0c;工业HMI以方便、快捷的特点逐渐成为工业的日常应用&#xff0c;成为备受追捧的全新多媒体交互设备。 什么是工业HMI&#xff1f;工业HMI是用于工业自动化系统中的人机交互界面&#xff0c;通常由触摸屏、按钮、指示灯、显示器等组成&#…

如何正确使用C#短信接口发送招生短信

群发短信对教育机构来讲虽然是个不错的招生工具,但怎么使用决定着生源转化效率,如果是为了单纯的发短信而发短信效率当然不好,那么如何正确使用招生群发短信呢?技巧才是关键! 教育短信发送较多的就是招生群发短信内容,而运营商对教育行业内容审核一般比较严格,需要短信公司特殊…

新媒体矩阵系统是什么?怎么搭建矩阵系统?

目录 前言&#xff1a; 一、新媒体矩阵分别是什么&#xff1f; 1、横向矩阵 2、 纵向矩阵 二、新媒体矩阵的作用&#xff1f; 1、多元化发展&#xff0c;吸引目标 2、多平台协同&#xff0c;放大宣传效果 3、多平台运营&#xff0c;分散风险 三、怎么做矩阵系统&…

【摄像头标定】双目摄像头标定及矫正-opencv(python)

双目摄像头标定及矫正 棋盘格标定板标定矫正 棋盘格标定板 本文使用棋盘格标定板&#xff0c;可以到这篇博客中下载&#xff1a;https://blog.csdn.net/qq_39330520/article/details/107864568 标定 要进行标定首先需要双目拍的棋盘格图片&#xff0c;20张左右&#xff0c;…

企业微信内嵌H5项目接入聊天功能

产品需求是,在列表中把符合条件的列表接入聊天功能,以下是详细步骤: 1.引入企业微信 <script src"https://res.wx.qq.com/wwopen/js/jsapi/jweixin-1.0.0.js"></script> 2.获取wx签名(必须要) /*** 获取wx签名**/ export function getWxJsApi(data) {r…

pdf压缩,pdf压缩在线,pdf文件太大怎么变小

在数字化时代&#xff0c;PDF文档因其跨平台、保持原样、易于阅读和打印等特点&#xff0c;成为了我们日常工作和生活中不可或缺的一部分。然而&#xff0c;随着PDF文件的不断累积&#xff0c;存储空间逐渐变得紧张&#xff0c;特别是在处理大量大型PDF文件时&#xff0c;如何有…

若依前后端分离项目整合shardingjdbc分表(详细,分片字段订单id)

文章目录 1. 引入Maven依赖2.引入配置文件3.兼容之前的数据库源,使用现在的sharding数据库源&#xff08;shardingjdbc默认的数据源&#xff09;&#xff0c;但是配置好文件之后是没有生效的&#xff0c;需要加配置文件覆盖4. 检测是否成功5. 如何使用&#xff0c;在需要使用的…

qt开发-14_QListwidget 仿qq好友列表制作

QListWidget 继承 QListView。QListWidget 类提供了一个基于项的列表小部件。QListWidg et 是一个便捷的类&#xff0c;它提供了一个类似于 QListView&#xff08;下一小节将讲到&#xff09;提供的列表视图&#xff0c;但 是提供了一个用于添加和删除项目的基于项目的经典接口…

第10章 启动过程组 (启动过程组的重点工作)

第10章 启动过程组 10.3启动过程组的重点工作&#xff0c;在第三版教材第362~364页&#xff1b; 文字图片音频方式 第一个知识点&#xff1a;项目启动会议 1、作用 标志着对项目经理责权的定义结果的正式公布&#xff0c;通常由项目经理负责组织和召开。2、目的 使项目各…

分享:Wordpress插件-AI Image Pro v2.6.0中文版语言包

AI Image Pro是一个wordpress插件,可将您的 WordPress 网站直接与最佳图像生成 A模型(DALL.E和稳定扩散)集成&#xff0c;并允许您利用 AI 生成图像、编辑(内画)图像和创建图像变体。最重要的是&#xff0c;它配备了许多一键式滤镜和许多微调选项,您可以使用它们来增强和创建令…

黑匣子问题:大语言模型的内部工作原理

像 GPT-3 这样的大型语言模型 (LLM) 已经展示了令人印象深刻的自然语言能力&#xff0c;但它们的内部工作原理仍然知之甚少。这种“黑匣子”性质使得ChatGPT在敏感的现实应用程序中部署时可能会出现问题。 什么是LLM黑匣子问题&#xff1f; 语言学习模型 (LLM) 是强大的工具&…

要求全国70%中医院设置康复科!康复科门诊服务这样建设!

近日&#xff0c;国家中医药管理局印发《国家中医药管理局关于进一步加强中医医院康复科建设的通知》提出&#xff0c;中医医院应根据当地人口规模及中医药康复服务需求设置康复科并作为独立科室进行建设和管理。有条件的二级以上中医医院应当按照《中医医院康复科推荐配置标准…

软件质量保证与测试

目录 一、测试流程 二、测试用例 2.1概念 2.2用例编写格式 三、设计测试点 3.1等价类 3.1.1概念 3.1.2案例 3.1.3适用场景 3.1.4执行用例 3.2边界值 3.2.1概念 3.2.2案例 3.2.3使用场景 3.3判定表 3.3.1判定表使用原因 3.3.2概念 3.3.3案例 3.3.4使用场景 …

Day4: 两两交换链表中的节点 24 删除链表的倒数第N个节点 19 链表相交 02.07 环形链表II 142

题目24. 两两交换链表中的节点 - 力扣&#xff08;LeetCode&#xff09; /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* …

新鲜出炉的信息化一机两用方案

在信息化日益发展的今天&#xff0c;网络安全问题愈发凸显其重要性。尤其是在政府和企事业单位中&#xff0c;如何在保证业务流畅和工作效率的同时&#xff0c;确保信息高安全性&#xff0c;成为了一个亟待解决的问题。而“一机两用”政策&#xff0c;正是针对这一需求而提出的…

QT布局管理(分割窗口QSplitter类、停靠窗口QDockWidget类、堆栈窗体QStackedWidget类、基本布局QLayout)

此片文章简单介绍布局管理的使用方法。通过实例先分别介绍分隔窗口QSplitter类、停靠窗口QDockWidget类及QStackedWidget类的使用&#xff0c;最后再通过一个实例介绍QLayout的使用。 分割窗口QSplitter类 分隔窗口可以灵活地布局窗口&#xff0c;可以用在文件资源管理器地窗…