千家信息网

SQLite事务的属性有哪些

发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,这篇文章主要讲解了"SQLite事务的属性有哪些",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"SQLite事务的属性有哪些"吧!说到事务一定会提到AC
千家信息网最后更新 2025年01月17日SQLite事务的属性有哪些

这篇文章主要讲解了"SQLite事务的属性有哪些",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"SQLite事务的属性有哪些"吧!

说到事务一定会提到ACID,所谓事务的原子性,一致性,隔离性和持久性。对于一个数据库而言,通常通过并发控制和故障恢复手段来保证事务在正常和异常情况下的ACID特性。sqlite也不例外,虽然简单,依然有自己的并发控制和故障恢复机制。

事务的属性

  • 1.事务(Transaction)具有以下四个标准属性,通常根据首字母缩写为 ACID:
  • 2.原子性(Atomicity):确保工作单位内的所有操作都成功完成,否则,事务会在出现故障时终止,之前的操作也会回滚到以前的状态。
  • 3.一致性(Consistency):确保数据库在成功提交的事务上正确地改变状态。
  • 4.隔离性(Isolation):使事务操作相互独立和透明。
  • 5.持久性(Durability):确保已提交事务的结果或效果在系统发生故障的情况下仍然存在。

事务控制

使用下面的命令来控制事务:

  • 1.BEGIN TRANSACTION:开始事务处理。
  • 2.COMMIT:保存更改,或者可以使用 END TRANSACTION 命令。
  • 3.ROLLBACK:回滚所做的更改。

事务控制命令只与 DML 命令 INSERT、UPDATE 和 DELETE 一起使用。他们不能在创建表或删除表时使用,因为这些操作在数据库中是自动提交的。

BEGIN TRANSACTION 命令

事务(Transaction)可以使用 BEGIN TRANSACTION 命令或简单的 BEGIN 命令来启动。此类事务通常会持续执行下去,直到遇到下一个 COMMIT 或 ROLLBACK 命令。不过在数据库关闭或发生错误时,事务处理也会回滚。以下是启动一个事务的简单语法:

BEGIN;orBEGIN TRANSACTION;

COMMIT 命令

COMMIT 命令是用于把事务调用的更改保存到数据库中的事务命令。 COMMIT 命令把自上次 COMMIT 或 ROLLBACK 命令以来的所有事务保存到数据库。 COMMIT 命令的语法如下:

COMMIT;orEND TRANSACTION;

ROLLBACK 命令

ROLLBACK 命令是用于撤消尚未保存到数据库的事务的事务命令。

ROLLBACK 命令只能用于撤销自上次发出 COMMIT 或 ROLLBACK 命令以来的事务。

ROLLBACK 命令的语法如下:

ROLLBACK;

实例

假设 COMPANY 表有以下记录:

ID          NAME        AGE         ADDRESS     SALARY----------  ----------  ----------  ----------  ----------1           Paul        32          California  20000.02           Allen       25          Texas       15000.03           Teddy       23          Norway      20000.04           Mark        25          Rich-Mond   65000.05           David       27          Texas       85000.06           Kim         22          South-Hall  45000.07           James       24          Houston     10000.0

现在,让我们开始一个事务,并从表中删除 age = 25 的记录,最后,我们使用 ROLLBACK 命令撤消所有的更改。

sqlite> BEGIN;sqlite> DELETE FROM COMPANY WHERE AGE = 25;sqlite> ROLLBACK;

检查 COMPANY 表,仍然有以下记录:

ID          NAME        AGE         ADDRESS     SALARY----------  ----------  ----------  ----------  ----------1           Paul        32          California  20000.02           Allen       25          Texas       15000.03           Teddy       23          Norway      20000.04           Mark        25          Rich-Mond   65000.05           David       27          Texas       85000.06           Kim         22          South-Hall  45000.07           James       24          Houston     10000.0

现在,让我们开始另一个事务,从表中删除 age = 25 的记录,最后我们使用 COMMIT 命令提交所有的更改。

sqlite> BEGIN;sqlite> DELETE FROM COMPANY WHERE AGE = 25;sqlite> COMMIT;

检查 COMPANY 表,有以下记录:

ID          NAME        AGE         ADDRESS     SALARY----------  ----------  ----------  ----------  ----------1           Paul        32          California  20000.03           Teddy       23          Norway      20000.05           David       27          Texas       85000.06           Kim         22          South-Hall  45000.07           James       24          Houston     10000.0

感谢各位的阅读,以上就是"SQLite事务的属性有哪些"的内容了,经过本文的学习后,相信大家对SQLite事务的属性有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

事务 命令 数据 数据库 属性 控制 故障 情况 语法 学习 一致 成功 一致性 内容 原子 持久性 状态 处理 检查 隔离 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 奇酷互联网络科技郑州公司 网络安全事件等级最高 软件开发项目的功能点 王牌竞速服务器角色删除 服务器稳定性标准 网络安全手抄报绿书签小知识 驱动桥用什么软件开发 中兴软件开发工程师待遇 中国高成长科技互联网公司 穆棱市天气预报软件开发 小学网络安全宣传周材料 win8 64数据库 芯片底层软件开发 河南路通网络技术有限公司 扬职大计算机网络技术大一课程 三级网络技术上机书写 ssr服务器管理系统 数据库与数据处理是什么专业 数据库权限级别安全吗 村级网络安全防范方案 我的世界手机版服务器如何变op 周口哪里有计算机网络技术专业 长武大唐电厂网络安全检查 2020亚洲网络安全大会 省委党校软件开发岗 网络盒子怎么做打印服务器 达梦数据库重命名表名 江西省网络安全知识竞赛插件 客户端服务器端口打开需要什么 网络安全怎么写英语作文
0