数据更新(二)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

【知识点】
3、删除语句
(1)DELETE [FROM] <表名> [WHERE <删除条件>]
(2)TRUNCATE TABLE <表名>
区别:
(1)TRUNCATE TABLE 在功能上与不带WHERE 子句的DELETE 语句相同:二者均删除表中的全部行。

(2)TRUNCATE TABLE 比DELETE 速度快,且使用的系统和事务日志资源少。

DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。

TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。

比较:TRUNCATE、DELETE、DROP
TRUNCATE TABLE:删除内容不删除定义、释放空间。

DELETE :删除内容不删除定义,不释放空间。

DROP TABLE:删除内容和定义,释放空间
4、子查询在INSERT、UPDATE、DELETE语句中的应用
例:
1、统计选修了课程的每个学生的平均成绩并插入空表stuMarks_temp中(表中有二个字段:学号stuNo,平均成绩avg_stuScore)。

INSERT INTO stuMarks_temp(stuNo,avg_stuSCore)
SELECT stuNo,AVG(stuScore)
FROM stuMarks
GROUP by stuNo
2、把所有女生的选修成绩都加5分
UPDATE stuMarks
SET stuScore=+5
WHERE stuNo IN(SELECT stuNo
FROM stuInfo
WHERE stuSex=’女’)
3、删除‘李明’的所有选修记录(假设没有同名情况)
DELETE stuMarks
WHERE stuNo IN(SELECT stuNo
FROM stuInfo
WHERE stuName=’李明’)
【课堂实践】
1.将“李勇”同学的专业改为“计算机信息管理”(假设只有一个“李勇”)
2.将“20050201”学生选修“C03”号课程的成绩改为该课的平均成绩
3.把成绩低于总平均成绩的女同学的成绩提高5%
4.把选修了“数据库”课程而成绩不及格的学生的数据库课成绩全改为空值(NULL)
5.删除学号为“20050302”的学生记录(注意删除顺序!)
6.删除“计算机系”所有学生的选课记录
7.删除SC表中还没有成绩的选课记录
8.把“刘晨”同学的成绩全部删除(假设只有一个“刘晨”)
9.。

相关文档
最新文档