A06_DML与事务控制.pptVIP

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
A06_DML与事务控制

课程介绍 目的:了解数据操作语言DML与事务控制。 内容:INSERT操作、UPDATE操作、DELETE操作、MERGE操作、事务控制。 重点:INSERT、UPDATE及DELETE操作 难点:事务控制 DML与事务控制 数据操作语言DML(Data Manipulation Language )用于操作数据库中的数据,具体包括: INSERT操作 UPDATE操作 DELETE操作 MERGE操作 事务控制 一. INSERT操作 INSERT操作用于向表或视图中插入数据。 使用VALUES子句插入数据 表间数据拷贝 多表插入 使用VALUES子句插入数据 语法格式: 举例: 表间数据拷贝 语法格式: 举例: 多表插入 语法格式: 举例: 二. UPDATE操作 UPDATE操作用于更新表中现有数据。 使用表达式更新数据 使用子查询更新数据 使用表达式更新数据 语法: 举例: 使用子查询更新数据 语法: 举例: 三. DELETE操作 DELETE操作用于删除表中现有数据。 语法: 举例: 四. MERGE操作 MERGE操作用于实现数据合并——根据条件在表中执行数据的修改或插入操作,如果要插入的记录在目标表中已经存在,则执行更新操作、否则执行插入操作。 语法格式: MERGE操作举例 五. 事务控制 事务概述 提交事务 回滚事务 事务控制概述 通过将一组相关操作组合为一个要么全部成功、要么全部失败的逻辑工作单元( Transaction,事务) ,以简化错误恢复、提高应用程序的可靠性。 数据库事务组成 0~多条DML语句 1条DDL语句 1条DCL语句 事务必须满足的ACID属性: 原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation ) 持久性(Durability ) 事务的开始和结束 事务开始于第一条可执行语句 事务结束于: 遇到commit 或 rollback语句 遇到DDL 或 DCL 语句 用户会话结束 系统崩溃 事务的提交和回滚 提交和回滚操作是为了更好地保证数据的一致性。 下述情况下事务会被自动提交 执行一个 DDL 语句 执行一个DCL 语句 正常结束会话 会话异常终止/系统崩溃时事务会被自动回滚 提交/回滚前数据状态 当前事务中数据状态的改变是可以恢复的; 当前事务中的DML操作结果只对当前用户(会话)可见,其它用户(会话)看不到当前事务中数据状态的改变,直到当前事务结束; 当前事务中DML语句所涉及到的记录行被锁定(记录级锁),在此期间其他用户只能读取但不能对其进行修改操作; 当前事务中DML语句所涉及到的数据表被锁定(表级锁),在此期间其他用户不允许修改表的结构。 事务提交后数据状态 事务中对数据的修改永久生效、不可再撤消; 数据修改之前的状态永久性丢失、无法恢复; 所有的用户(会话)都将看到操作后的结果; 记录锁/表级锁被释放,其它用户(会话)可对这些记录进行修改操作、或者修改表的结构; 事务中的保存点被清除; Sql Plus的自动提交 Sql Plus中执行SQL语句时可以设置是否自动提交,缺省设置为非自动提交。 查看设置: SHOW AUTOCOMMIT; 改变设置: SET AUTOCOMMIT ON; --设置为自动提交 SET AUTOCOMMIT OFF; --设置为非自动提交 显式提交事务 使用COMMIT指令可显式提交事务。 回滚事务 ROLLBACK指令可以实现事务的回滚——撤销当前事务所做的数据修改,使数据恢复到事务开始之前的状态,并释放相关的记录锁和表级锁。 保存点 使用保存点(Savepoint)在当前的事务中的关键点处创建标记,将来就可以回退到指定的标记(保存点)处,以实现事务的部分回滚。 本章小结 通过本章的学习,读者应能掌握和熟练运用INSERT、UPDATE、DELETE等常用DML指令实现数据更新操作,能够理解数据库事务的概念及其技术特性,能够使用COMMIT、ROLLBACK及SAVEPOINT指令实现数据库事务的提交、回滚及保存点操作,这些指令/技术在真实的数据库应用开发中极为常用。 思考与练习 一. 填空题 数据库事务控制指令包括________、_______和_______。 数据库DML操作指令包括________、________、_______和_______。 二.上机操作题 编写SQL指令,将scott.emp表中所有工资高于3000的雇员的入职时间改为2008年8月8日。 编写SQL指令,删除scott.emp表中所有与7566号雇员隶属于同一部门的雇员信息。 * * * * * 范例效果 * * DML与事务控制 课程代码:AMPC0103

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档