- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle数据查询与管理
在表中删除行 从表中删除行 如果指定了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语句的结果 受影响的行会被锁定,其他用户无法更改这些行中的数据 COMMIT操作之后的数据状态 数据库中的数据更改被永久化 以前的数据状态永久丢失 所有用户都可以查看结果 受影响行的锁定被释放;其他用户可以对这些行进行处理 所有保存点被清除 ROLLBACK操作之后数据的状态 数据更改被撤销 数据还原到以前的状态 受影响的行锁定被释放 显式的事务处理控制语句 隐式事务处理 下列情况下发生自动提交 发出DDL语句 发出DCL语句 从SQL Developer或SQL PLUS正常退出而未发出COMMIT或ROLLBACK语句 发生故障时自动回退 演示提交和回退操作 读一致性 读一致性可以确保用户在任何时候看到的数据都是一致的 一个用户进行的更改不会及另一个用户进行的更改冲突 读一致性可以确保对于同一数据: 读取者不必等待写入者完成操作即可读取 写入者不必等待读取者完成操作即可写入 写入者必须等待其他写入者完成操作才可以写入 演示读一致性 读一致性来确保达到如下效果 保证数据库读取者和写入者看到的数据是一致的 读取者看不到正在更改的数据 保证写入者对数据库的更改是在一致方式下完成的 一个写入者进行的更改不会中断另一个写入者正在进行的更改,也不会及之冲突 用同一用户登录不同的会话,每个会话均
文档评论(0)