SQL笔记(6)_第六章 管理数据库事务
2015-11-27 15:52
267 查看
第六章 管理数据库事务
1.事务:事务是对数据库执行的一个操作单位。
事务的本质特征:
所有的事务都有开始和结束
事务可以被保存和撤销
如果事务在中途失败,事务中的任何部分都不会被记录到数据库
2.当一个事务被执行并成功完成时,虽然从输出结果来看目标表已经被修改了,但实际上目标表并不是立即被修改。当事务成功完成时,利用事务控制命令最终认可这个事务,可以把事务所做的修改保存到数据库,也可以撤销事务所做的修改。
3.控制事务的命令有3个:
事务控制命令只与DML(数据操作语言)命令INSERT,UPDATE, DELETE配合使用,比如我们不会再创建表之后使用COMMIT命令,因为当表被创建之后,它会自动被提交给数据库。当然也不能使用ROLLBACK来恢复被撤销的表。此外,还有其他类似的语句,也是不能被撤销的。
COMMIT命令
COMMIT命令用于把事务所做的修改保存到数据库,它把上一个COMMIT或ROLLBACK(不包含rollback to savepoint)命令之后的全部事务都保存到数据库。
这个命令的语法是:
关键字COMMIT是语法中惟一不可缺少的部分,其后是用于终止语句的字符或命令,具体内容取决于不同的实现。关键字WORK是个选项,其惟一作用是让命令对用户更加友好。
ROLLBACK命令
rollback命令用于撤销还没有保存到数据库的命令,它只能用于撤销上一个commit或rollback命令之后的事务
SAVEPOINT命令
保存点是事务过程中的一个逻辑点,我们可以把事务回退到这个点,而不必回退整个事务。
语法:savepoint savepoint_name
这个命令就是事务语句之间创建一个保存点。rollback命令可以撤销一组事务操作,而保存点可以将大量事务操作
划分为较小的、更易于管理的组。
ROLLBACK TO SAVEPOINT命令
RELEASE SAVEPOINT命令(SQLserver中不支持)
用于删除创建的保存点
SET
TRANSACTION命令
这个命令用于初始化数据库事务,可以指定事务的特性。列,可以指定事务是只读或者是可读写的
SET TRANSACTION READ WRITE;
SET TRANSACTION READ ONLY;
事务控制与数据库性能(待补充)
1.事务:事务是对数据库执行的一个操作单位。
事务的本质特征:
所有的事务都有开始和结束
事务可以被保存和撤销
如果事务在中途失败,事务中的任何部分都不会被记录到数据库
2.当一个事务被执行并成功完成时,虽然从输出结果来看目标表已经被修改了,但实际上目标表并不是立即被修改。当事务成功完成时,利用事务控制命令最终认可这个事务,可以把事务所做的修改保存到数据库,也可以撤销事务所做的修改。
3.控制事务的命令有3个:
COMMIT ROLLBACK SAVEPOINT
事务控制命令只与DML(数据操作语言)命令INSERT,UPDATE, DELETE配合使用,比如我们不会再创建表之后使用COMMIT命令,因为当表被创建之后,它会自动被提交给数据库。当然也不能使用ROLLBACK来恢复被撤销的表。此外,还有其他类似的语句,也是不能被撤销的。
COMMIT命令
COMMIT命令用于把事务所做的修改保存到数据库,它把上一个COMMIT或ROLLBACK(不包含rollback to savepoint)命令之后的全部事务都保存到数据库。
这个命令的语法是:
commit [work];
关键字COMMIT是语法中惟一不可缺少的部分,其后是用于终止语句的字符或命令,具体内容取决于不同的实现。关键字WORK是个选项,其惟一作用是让命令对用户更加友好。
ROLLBACK命令
rollback命令用于撤销还没有保存到数据库的命令,它只能用于撤销上一个commit或rollback命令之后的事务
SAVEPOINT命令
保存点是事务过程中的一个逻辑点,我们可以把事务回退到这个点,而不必回退整个事务。
语法:savepoint savepoint_name
这个命令就是事务语句之间创建一个保存点。rollback命令可以撤销一组事务操作,而保存点可以将大量事务操作
划分为较小的、更易于管理的组。
ROLLBACK TO SAVEPOINT命令
RELEASE SAVEPOINT命令(SQLserver中不支持)
用于删除创建的保存点
RELEASE SAVEPOINT savepoint_name
SET
TRANSACTION命令
这个命令用于初始化数据库事务,可以指定事务的特性。列,可以指定事务是只读或者是可读写的
SET TRANSACTION READ WRITE;
SET TRANSACTION READ ONLY;
事务控制与数据库性能(待补充)
相关文章推荐
- Redis在Windows上编译(Visual C++2013)
- MongoDB 分片
- 在windows上以服务方式运行Redis服务
- Oracle查询表主键、外键
- mysql分表和表分区详解
- Mysql联合,连接查询
- mysql添加slave节点
- mysql数据库修改数据库编码,字段编码与表编码(转)
- innosql mysql产品官网
- mysql修改字符集
- MySQL分区
- MySQL学习5-Navicat的使用
- Hive元数据存于mysql中文乱码解决
- mysql监听的端口变成0
- redis 本机链接服务端命令
- mysql的一些问题
- 安卓中轻量级数据库SQLite的使用
- 开启和关闭mysql服务
- MSSQL row_number简单使用语法
- Mysql索引