第7章 数据操作及事务处理.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
修改表中的数据 更改表中的数据 使用UPDATE语句修改现有的行 语法 如果需要,一次可以更新多个行 通过查询来确认更新操作 语句 说明 table 表的名称 column 表中要填充的列的名称 value 该列相应的值 condition 指定要更新的行,它又列名表达式、常数、子查询和比较运算符 如果要更新某一行的数据,请使用主键或唯一键作为限定个条件 示例: 如果用last_name来限定,则有可能会更新多行 更改表中的数据 如果省略了WHERE子句,则会修改表中的所有行 可以一次更新多个字段。例如:114号员工的职务需要从SA_REP修改为IT_PROG,并且其佣金要清除 更改表中的数据 用子查询更新两个列 通过编写多个子查询,可以在UPDATE语句的SET子句中更新多个列 示例: 更改员工113的职位与薪资,使之与员工205的职务和薪资相同 从表中删除行 在表中删除行 可以使用DELETE语句从表中删除现有的行 如果没有删除任何行,则会返回“0 rows deleted”的消息 语句 说明 table 表的名称 condition 指定要删除的行,它由列名、表达式、常数、子查询和比较运算符组成 在表中删除行 从表中删除行 如果指定了WHERE子句,则可以删除特定的行 如果省略了WHERE子句,则会删除表中所有行 通过SELECT语句确认删除操作 DELETE FROM employees WHERE employee_id = 4; DELETE FROM employees; 在表中删除行 根据另一个表删除行 使用子查询可以根据另一个表中的值来删除表中的行 示例:删除部门名称中包含字符串Public的部门的所有雇员信息 子查询查询departments表,根据部门名称找到部门编号 子查询将部门编号返回给主查询,主查询根据编号删除雇员信息 使用TRUNCATE 从表中删除所有的行,使表为空并保留表结构不变 属于DDL而不是DML,无法取消其操作 慎用! 数据库事务处理 知识点概述 # 知识点 重点 难点 应用 说明 1 什么是事务 理解事务 2 事务的ACID特性 学习事务的特性 3 事务的开始和结束 √ √ 学习如何开始和结束一个事务 4 事务的提交和回滚 √ √ 学习如何提交和撤销事务 5 读一致性 √ √ √ 介绍事务的一致性 6 事务锁 √ √ √ 介绍事务的锁 7 8 9 什么是事务 数据库事务(transcaction)就是一组SQL语句,这组SQL语句是一个逻辑工作单元 数据库事务的一个例子: 将钱从一个银行帐号中转到另外一个银行帐号中,此时通常包含两步操作: 一条UPDATE语句负责从一个银行帐号的总额中减去一定的钱数 一条UPDATE语句负责向另外一个银行帐号中增加相应的钱数 减少和增加这两个操作必须永久性地记录到数据库中,否则就会丢失 如果钱的转账有问题,则必须同时取消减少和增加这两个操作 事务的ACID特性 数据库理论采用了严格的定义,说明事务有4个基本特性: 原子性(Atomic)事务是原子的,这就是说一个事务中包含的所有SQL语句都是一个不可分割的工作单元 一致性(Consist)事务必须确保数据库的状态保持一致,这就是说事务开始时,数据库的状态是一致的,在事务结束时,数据库的状态也是一致的。 隔离性(Isolated)多个事务可以独立运行,而不会彼此产生影响。 持久性(Durable)一旦事务被提交之后,数据库的变化就会永远保留下来,即使运行数据库软件的及其后来崩溃也是如此 事务的开始与结束 事务的开始: 连接到数据库上,并执行一条DML语句(INSERT、UPDATE、DELETE) 前一个事务结束后,又输入了另外一条DML语句 事务结束 执行COMMIT或ROLLBACK语句 执行一条DDL、DCL语句(自动提交) 断开与数据库的连接。 在退出SQL*PLUS时,使用EXIT此时会自动执行COMMIT 如果SQL*PLUS被意外终止了,会自动执行ROLLBACK 系统崩溃 事务的提交与回滚 要永久性地记录事务中SQL语句的结果,需要执行COMMIT,从而提交(commit)事务 要取消SQL语句的结果,需要执行ROLLBACK语句,从而回滚(rollback)事务,将所有行重新设置为原始状态 COMMIT和ROLLBACK语句的优点 确保数据的一致性 在更改永久化之前预览数据更改 按逻辑关系对相关操作进行分组 COMMIT或ROLLBACK操作之前的数据状态 可以将数据恢复到以前的状态 当前用户可以用SELECT语句复查DML操作结果 其他用户不能查看当前用户的DML语句的结果 受影响的行会被锁定,其他用户无法更改这些行中

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档