现在的位置: 首页 > 综合 > 正文

MySQL的事务

2018年04月16日 ⁄ 综合 ⁄ 共 1157字 ⁄ 字号 评论关闭

创建事务的一般过程:

初始化事务,创建事务,应用SELECT语句查询数据是否被录用,提交事务

如果用户不在操作数据库完成之后执行事务提交,则系统会默认执行回滚操作。

START TRANSACTION;

另外用户可以使用BEGIN或者BEGIN WORK命令初始化事务,通常START TRANSACTION命令之后跟随的是组成事务的SQL语句。

start transaction;

2.创建事务

初始化事务成功之后,可以创建事务

3.应用select 语句查询数据是否被正确输入。

在事务成功之后,继续在命令提示符中进行查询SELECT

4.提交事务:

在用户没有提交事务之前,当其他的连接MySQL服务器时,应用SELECT查询结果时,不会显示没有提交的事务的。

用户可以使用conmmit命令来提交事务,

5.撤销事务:

撤销事务又称为事务回滚,即事务呗开启用户输入的SQL语句被执行后,如果用户想要撤销刚才的数据库操作,可以使用ROLLBACK命令进行撤销数据库中的所有的变化

rollback

在事务没有提交事务的时候,则事务默认为自动回滚状态,即不保存用户之前的任何操作。

如果执行依稀回滚操作,则在输入START TRANSACTION命令后所有的SQL语句都将执行回滚操作。

6.事务的存在周期:

事务的周期在用户的命令提示符中输入START TRANSACTION 指令开始,直至用户输入COMMIT结束。

事务不支持嵌套功能,当用户在未结束第一个事务又打开另外一个事务时,前一个事务会自动提交,所以在很多命令中会隐藏了执行COMMIT命令。

MySQL行为:

1.自动提交:

用户在执行数据库操作工程中,不需要使用START TRANSACTION语句开始事务,用COMMIT或者ROLLBACK提交事务或者执行回滚操作。如果用户希望通过控制MySQL自动提交参数,可以更改提交模式。

SET AUTCOMMIT=0;--------------------关闭自动提交功能,但关闭了这个功能之后,只有用户输入COMMIT命令后,MySQL才将数据表中的资料提交到数据库中。

 

2.事务的孤立级

事务具有独立的空间。

事务的孤立级在整个事务中起到了很重要的作用,如果没有事务的孤立性,不同的SELECT语句将会在同一事务的环境中检索到不同的结果,浙江导致数据的不一致。

所以孤立性强制保持每个事务的独立性,以此来保证事务中看到一致的数据。

MySQL强制保持每个事务的孤立性,以此来保证事务中看到一致的数据。

基于ANSI/ISO SQL规范,MySQL提供了4种孤立级

SERIALIZABLE(序列化)-----------serializable

REPEATABLE READ(可重读)

READ COMMITTES(提交后读)

READ UNCOMMITTED(未提交读)

 

 

 

抱歉!评论已关闭.