SQL-事务的基本介绍和默认自动提交和手动提交
事务的基本介绍
事务概念:如果一个包含多个步骤的业务操作 被事务管理 那么这些操作要么同时成功 要么同时失败
图解:
事务操作
1.开启事务
start transaction;
2.回滚
rollback;
3.提交
commit;
使用案例演示
数据表
SQL语句
-- 创建数据表 CREATE TABLE account( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(10), balance DOUBLE ); -- 添加数据 INSERT INTO account (name,balance) VALUES ("张三",1000),("李四",1000);
提交事务
-- 开启事务 START TRANSACTION -- 开启事务 UPDATE account SET balance=balance-500 WHERE name="张三"; UPDATE account SET balance=balance+500 WHERE name="李四"; ROLLBACK;-- 提交
运行结果
回滚事务
SQL语句
-- 开启事务 START TRANSACTION; -- 开启事务 UPDATE account SET balance=balance-500 WHERE name="张三"; UPDATE account SET balance=balance+500 WHERE name="李四"; ROLLBACK; -- 回滚
运行结果
并没有进行数据更改
默认自动提交和手动提交
事务提交的两种方式:
1.自动提交
- mysql就是自动提交的
- 一条DML(增删改)语句会自动提交一次事务
2.手动提交
- 需要先开启事务 再提交
修改事务的默认提交方式
- 查看事务的默认提交方式
SELECT @@autocommit; -- 1 代表自动提交 0 代表手动提交
- 修改默认提交方式
SET @@autocommit=0;
运行结果
测试
数据并没有修改
我们可以在添加一个提交事务
成功修改
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)