数据库事务
1.事务介绍
事务主要用于处理操作量大、复制度高、并且关联性强的数据。
事务处理可以用来维护数据库的完整性, 保证成批的 SQL 语句要么全部执行, 要么全部不执行。主要针对 insert, update, delete 语句而设置。
2.语法与使用
-
开启事务:
BEGIN
或START TRANSACTION
-
提交事务:
COMMIT
, 提交会让所有修改生效 -
回滚:
ROLLBACK
, 撤销正在进行的所有未提交的修改 -
创建保存点:
SAVEPOINT identifier
-
删除保存点:
RELEASE SAVEPOINT identifier
-
把事务回滚到保存点:
ROLLBACK TO identifier
-
查询事务的隔离级别:
show variables like '%isolation%';
-
设置事务的隔离级别:
SET [SESSION | GLOBAL] TRANSACTION ISOLATION LEVEL {READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE}
InnoDB 提供的隔离级别有
READ
UNCOMMITTED
会读取未提交的事务READ COMMITTED
读取已经提交的事务REPEATABLE READ
可重复读取SERIALIZABLE
最高隔离级别 串行化