实验八 数据的增删改操作

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


一、实验目的

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

二、实验内容及要求

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

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

insert into 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) NOT NULL,
	Class_id varchar(4) NOT NULL
	)

insert into monitor(Stu_id,Stu_name,Stu_sex,Class_id) 
select Stu_id,Stu_name, Stu_sex, Class_id  
       from Student
	   where Stu_id in(
	         select Monitor from class )

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

update Teacher
	set TechPost='助理教师'
	where TechPost='助教'

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

update class
   set class_name='经济系'+class_name
	where Depar_id in(
			select Depar_id 
			from Deparment 
			where Depar_name='经济系')

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

update StudentGrade
    set grade=80
	where Stu_id='980101005' and
	Course_id =(
	select Course_id
	from Course
	where Course_name='数据结构')

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

delete from StudentGrade
	where grade<60

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

delete from StudentGrade
	where Course_id like '99%'

8、删除课程名为“C语言导论”的课程信息和所有这门课的选课信息。(尽量不用级联删除,因级联需在创建表时定义。)

delete StudentGrade from Course
			where Course_name='C语言' and
			StudentGrade.Course_id=Course.Course_id
delete from CourseTeacher from Course
			where Course_name='C语言'
			and CourseTeacher.Course_id=Course.Course_id
delete Course where Course_name='C语言'

三、实验小结

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

1)Alter:修改1表的结构,是数据定义的语言,在修改表的结构,不需要commit和Rollback
2)update:修改表数据,是数据操作语言,在修改数据值,需要commit和roollback.
3)drop:一般删除整体性数据(如表,模式,索引)
4)delete:用于删除局部数据(如表中的数据)

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

1、少量数据修改、删除
2、多数据修改、删除
解题思路:
为了保证正确的执行命令,需要对修改/删除前的数据进行查看,筛选出相关数据之后,再进行操作
解题方法:
1、少量数据:可先用SELECT命令,根据WHERE条件,将信息先查询出来,判断这些数据是否是要修改的数据
2、多数据:
同第一种方式一样,先用SELECT命令查询出来,记录下条件信息
然后用利用存储过程、事物两种技术。用存储过程封存,里面加上@@ERROR等一系列判断,出现问题,则回滚事物,否则提交事物

3.此次实验中得到的哪些经验教训、疑难问题?有什么心得或总结?

多看多练多写多思考

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值