MySQL基础教程---mysql事务与储存引擎
一、什么是事务?
-- 事务的一个重要的概念和具体操作 -- 演示 -- 1. 创建一张测试表 CREATE TABLE t27 ( id INT, `name` VARCHAR(32)); -- 2. 开始事务 START TRANSACTION -- 3. 设置保存点 SAVEPOINT a -- 执行dml 操作 INSERT INTO t27 VALUES(100, tom); SELECT * FROM t27; SAVEPOINT b -- 执行dml操作 INSERT INTO t27 VALUES(200, jack); -- 回退到 b ROLLBACK TO b -- 继续回退 a ROLLBACK TO a -- 如果这样, 表示直接回退到事务开始的状态. ROLLBACK COMMIT
二、事务细节
-- 1. 如果不开始事务,默认情况下,dml操作是自动提交的,不能回滚 INSERT INTO t27 VALUES(300, milan); -- 自动提交 commit SELECT * FROM t27 -- 2. 如果开始一个事务,你没有创建保存点. 你可以执行 rollback, -- 默认就是回退到你事务开始的状态 START TRANSACTION INSERT INTO t27 VALUES(400, king); INSERT INTO t27 VALUES(500, scott); ROLLBACK -- 表示直接回退到事务开始的的状态 COMMIT; -- 3. 你也可以在这个事务中(还没有提交时), 创建多个保存点.比如: savepoint aaa; -- 执行 dml , savepoint bbb -- 4. 你可以在事务没有提交前,选择回退到哪个保存点 -- 5. InnoDB 存储引擎支持事务 , MyISAM 不支持 -- 6. 开始一个事务 start transaction, set autocommit=off;
三、事务隔离级别
四、MySQL事务ACID
五、储存引擎概括
参考b站韩顺平老师视频: