实验八 数据的增删改操作

实验八 数据的增删改操作

一、实验目的
1.掌握Management Studio的使用。
2.掌握SQL中INSERT、UPDATE、DELETE命令的使用。

二、实验内容及要求
用SQL语句完成下列功能。使用数据库为SCHOOL数据库。

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

insert course(course_id,course_name,course_hour,introduce)
values('0118','网络安全与防火墙','40','网络的安全与主要的防火墙软件')

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

CREATE TABLE monitor (
    Stu_id VARCHAR(9) NOT NULL,
    Stu_name VARCHAR(8) NOT NULL,
    Stu_sex VARCHAR(2) DEFAULT '男' NOT NULL,
    Class_id VARCHAR(4) NOT NULL,
    PRIMARY KEY CLUSTERED(Stu_id)
);
insert monitor(stu_id,stu_name,stu_sex,class_id)
select stu_id,stu_name,stu_sex,class_id
from student

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

update teacher
set techpost='助理教师'
where techpost='助教'

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

/*直接更新无法完成,因为有触发器影响*/
/*以下语句查到了Class表存在触发器T_3*/
use school
go
exec sp_helptrigger "Class"
/*停用触发器*/
ALTER TABLE Class DISABLE TRIGGER T_3;
/*更新成功*/
ALTER TABLE Class ALTER COLUMN Class_name VARCHAR(100);

update Class set Class_name = '经济系'+Class_name
where Depar_id = (select Depar_id from Deparment where Depar_name = '经济系')

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

update studentgrade
set grade='80'
where stu_id='980101005' and course_id in
	(select course_id
	from course
	where 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 in (select course_id from course where course_name='c语言')

delete from courseteacher where course_id in (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.对数据进行插入、修改、删除时需要注意哪些问题?
数据完整性:确保插入、修改或删除的数据满足数据库表的约束和规则。例如,不违反主键、唯一性约束以及外键关系等。
数据备份和恢复:在进行重要的数据插入、修改和删除操作之前,应该先进行数据备份。这样可以在意外情况下恢复数据,避免数据丢失或损坏。
数据一致性维护:在进行数据修改和删除操作时,需要考虑与其他相关数据的一致性。例如,在删除某个表中的数据时,可能需要同时更新其他表中的相关数据,以确保数据的一致性。
错误处理和异常处理:在进行数据操作时,需要考虑可能出现的错误和异常情况,并进行适当的错误处理和异常处理。这包括处理数据冲突、数据重复、约束冲突等情况,以及记录错误日志或向用户提供适当的错误提示。
性能优化:对于大规模的数据插入、修改和删除操作,需要考虑性能优化的问题。可以通过批量操作、合理使用索引、优化查询语句等方式来提高操作的效率和响应速度

3.此次实验中得到的哪些经验教训、疑难问题?有什么心得或总结?
本次实验通过实际操作,掌握了Management Studio的使用和SQL中INSERT、UPDATE、DELETE命令的使用方法。

你可能感兴趣的:(#,数据库原理,数据库)