实验四 数据更新.docVIP

  • 138
  • 0
  • 约1.97千字
  • 约 7页
  • 2020-10-06 发布于浙江
  • 举报
实验四 数据更新 实验目的 1、掌握SQL语言的数据更新操作。 2、掌握创建索引的目的和方法。 实验预习 INSERT语句格式: INSERT INTO表名[(属性列1[,属性列2]……)] VALUES(常量1[,常量2]…); UPDATE语句格式: UPDATE表名 SET 列名=表达式[,列名=表达式]… [WHERE条件]; DELETE语句格式: DELETE FROM表名 [WHERE条件]; 实验内容及要求 1、插入数据 (1)在学生表Student中插入数据: Sno:9512102 Sname:刘晨 Ssex:男 Sage:20 Sdept:计算机系 INSERT INTO student VALUES(9512102,刘晨,男,20,计算机系); (2)在课程表Course中插入数据: Cno:C06 Cname:数据结构 Ccredit:5 Semster:4 INSERT INTO course VALUES(C06,数据结构,5,4,NULL); (3)在选课表SC中插入95211班学生选修C04的选课信息。 提示: 多行数据插入,插入的数据的sno从student表中查询而来,插入的cno为“C04” INSERT INTO sc(sno,cno) SELECT sno,C04 FROM student WHERE sno LIKE 95211%; 2、修改数据 (1)将所有学生的年龄增加1岁。 UPDATE student SET sage=sage+1; (2)修改“9512101”的“C01”课程成绩为85。 UPDATE sc SET grade=85 WHERE sno=9512101 AND cno=C01; (3)修改“王大力”的“计算机导论”课程成绩为70。 UPDATE sc SET grade=70 WHERE sno IN( SELECT sno FROM student WHERE sname=王大力 AND cno IN( SELECT cno FROM course WHERE cname=计算机导论 ) ); (4)将所有平均分为75分以上的学生的各门课成绩在原来基础上加5分。 UPDATE sc SET grade=grade+5 WHERE sno IN(SELECT sno FROM (SELECT sno FROM sc GROUP BY sno HAVING AVG(grade)75)AS a); (5)修改“高等数学”课程倒数三名成绩,在原来分数上减5分。 UPDATE sc SET grade=grade-5 WHERE cno IN(SELECT cno FROM course WHERE cname=高等数学) AND grade IS NOT NULL ORDER BY grade LIMIT 3; 3、删除数据 (1)删除“9531102”学生“C05”课程的成绩记录 DELETE FROM sc WHERE sno=9531102 AND cno=C05; (2)删除“张海”的所有成绩记录 DELETE FROM sc WHERE sno IN(SELECT sno FROM student WHERE sname=张海); (3)删除“数据库基础”的全部记录(包括课程信息,成绩信息) DELETE FROM sc WHERE cno=( SELECT cno FROM course WHERE cname=数据库基础); DELETE FROM course WHERE cname=数据库基础; 创建索引 导入rental表数据,在customer_id上建立普通索引(通过语句或表设计器均可) 查询customer_id=367的记录,记录查询时间: 有索引情况下的执行时间: 0.001s CREATE INDEX customer_id_a ON rental(customer_id) SELECT * FROM rental WHERE customer_id=367; 无索引情况下的执行时间: 0.001s DROP INDEX customer_id_a ON rental SELECT * FROM rental WHERE customer_id=367; 实验小结 解释说明“删除“数据库基础”的全部记录”的实现过程。 答:由于有外码约束,所以必须先删除成绩记录,再删除课程记录。 评阅成绩

文档评论(0)

1亿VIP精品文档

相关文档