MySQL事务相关知识点

MySQL事务相关知识点

概念:MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你既需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!

  1. 在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务;
  2. 事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行;
  3. 事务用于管理 insert,update,delete 语句。

MySQL默认是开启“自动提交事务”的
show session variables like "autocommit"; # 可以查看当前的状态
set autocommit=0; # 禁止自动提交
set autocommit=1; # 开启自动提交
注解:重启MySQL服务时会恢复默认值,也可以找MySQL的配置文件永久设置。

开启事务:
begin; # 开始事务
注解:开启一个事务。

使用保留点:
savepoint 保留点的名称; // 声明一个 savepoint
注解:保留点可以有多个;保留点会在事务执行“回滚所有”或者“提交事务”之后自动释放,当然也可以手动删除
release savepoint 保留点的名称; // 删除指定保留点

事务回滚:
rollback to 保留点的名称; // 回滚到某个 savepoint 继续对数据表进行CURD
rollback; # 回滚所有对数据表的CURD
注解:回滚会结束用户的事务,并撤销正在进行的所有未提交的修改。

提交事务:
commit; # 提交事务
注解:COMMIT 会提交事务,并使已对数据库进行的所有修改成为永久性的。

posted @ 2022-03-11 16:45  TabKey9  阅读(59)  评论(0编辑  收藏  举报