欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 时评 > 【SQL Server数据库】数据的增删改操作

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

2024/10/25 13:23:14 来源:https://blog.csdn.net/m0_67830223/article/details/139903542  浏览:    关键词:【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.对数据进行插入、修改、删除时需要注意哪些问题?

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

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

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

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

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com