事务--简介
事务简介
数据库的 事务 是一种机制、一个操作序列,包含了一组数据库操作命令
事务把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库命令要么同时成功要么同时失败
中途出现异常则需要回滚事务
事务是一个不可分割的工作逻辑单元
语法:
-- 开启事务 start transaction; -- 或者 begin; -- 提交事务 commit; -- 回滚事务 rollback;
事务四大特征
1. 原子性:事务是补课分割的最小操作单位,要么同时成功,要么同时失败
2. 一致性:事务完成前,必须使所有的数据都保持一致状态
3. 隔离性:多个事务之间,操作的可见性
4. 持久性:事务一旦提交或回滚,它对数据库中的数据的改变就是永久的
转账实例:
-- 创建账户表 create table account( id int primary key auto_increment, name varchar(10), money double(10, 2) ); -- 添加数据 insert into account (name,money) values ('张三', 1000 ) , ('李四', 1000); select * from account; update account set money = 1000; -- 转账操作 (李四 转账 张三500) -- 开启事务 begin; -- 1. 查询李四余额 -- select money from account where name = '李四'; -- 2. 李四金额 -500 update account set money = money - 500 where name = '李四'; -- 出错了。。。 -- 3. 张三金额 +500 update account set money = money + 500 where name = '张三'; -- 提交事务 COMMIT; -- 回滚事务 ROLLBACK;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示