《实验三数据更新例》由会员分享,可在线阅读,更多相关《实验三数据更新例(4页珍藏版)》请在金锄头文库上搜索。
1、实验三 数据更新日期:2010-4-21一、实验目的:1进一步加深对数据更新(插入、修改及删除)SQL语句的理解并熟练应用2通过上机实验体会关系数据库中三类完整性规则对更新操作的影响二、实验内容: 1、利用INSERT语句向表中插入数据。l 插入一门“数值分析” 课程,其课程号为9,2学分;l 建立一个与选课表结构相同的表SC1_120081102134,并输入若干数据,将SC1_120081102134中的数 据插入到选课表中2、利用UPDATE语句更改表中数据。l 将3号学生的选修课成绩改为95;l 将“计算机科学系”的学生的选修课程号改为10003; 3、利用DELETE语句删除表中数据
2、。l 删除选修课成绩低于60分的选课记录;l 删除所有的“计算机科学系”的学生选修课记录;4、根据实验一中三类完整性的定义,分别对主表和从表进行增删改数据,观察主从表之间数据变化的相互影响。三、实验记录与问题讨论:1、(1)语句如下:insertinto Coursevalues(10009,数值分析,林永柳,3,50,2,NULL);结果如下:数值添加后如下:(2)建立表SC1_120081102134create table SC1_120081102134(StuNo char(12),CourseNo char(10),Grade int,);之后再用类似以下的语句插入数据:inser
3、tinto SC1_120081102134values(120081102105,10009,80)插入数据后结果如右图:将数据插入到选课表中:insertinto Student_Courseselect *from SC1_1200811021342、(1)update Student_Courseset grade = 95where StuNo = 120081102103(2) update Student_Courseset CourseNo = 10003from Student_Course,Studentwhere Student_Course.StuNo = Studen
4、t.StuNo andDepartment = 计算机科学系3、(1)deletefrom Student_Coursewhere Grade 60“(0行受影响)”说明没有低于60分的选课记录。(2)deletefrom Student_Coursewhere 计算机科学系 = (select Departmentfrom Studentwhere Student.StuNo = Student_Course.StuNo)选课表中原有的计算机科学系的选课记录均已被删。4、在Student_Course加入记录,执行以下语句:insertinto Student_Coursevalues(12
5、0081102134,10009,80)出现错误:这是由于Student表中没有该学生学号记录。在Student表中删除记录:先在Student_Course表中加入一条记录:执行以下语句:deletefrom Studentwhere StuNo = 120081102105出现错误:这是由于Student_Course表中有该学生选课记录,不能在Student表中删除该学生记录。将Student_Course表中的学生学号改为Student表中不存在的记录,语句如下:update Student_Courseset StuNo = 120061101335from Student_Coursewhere StuNo = 120081102105出现错误:这是由于Student_Course表中的学号与Student表中的学号的约束关系所致。