背景与重要性
在关系数据库中,事务是指一组操作的集合,这些操作要么全部成功执行,要么全部不执行。事务的管理对于确保数据的完整性和一致性至关重要。在实际应用中,事务常用于金融系统、订单处理、库存管理等场景。
例如,在银行转账中,一个事务可能涉及从一个账户扣款和向另一个账户存款两个操作。为了确保这两个操作的原子性,我们需要使用事务管理机制。
在数据库中,COMMIT 和 ROLLBACK 是用于管理事务的重要命令。COMMIT
用于提交事务,表示所有操作成功并且数据已永久保存;而 ROLLBACK
则用于回滚事务,表示撤销事务中所有操作,恢复到事务开始之前的状态。
COMMIT 和 ROLLBACK 的使用
1. COMMIT 的使用
COMMIT 命令用于提交当前事务的所有更改,确保所有操作的结果被永久保存到数据库中。
示例
假设我们有一个简单的银行账户表 accounts
,我们要从账户A转账100元到账户B。
-- 创建 accounts 表
CREATE TABLE accounts (
account_id INT PRIMARY KEY,
balance DECIMAL(10, 2) NOT NULL
);
-- 插入示例数据
INSERT INTO accounts (account_id, balance) VALUES (1, 1000.00), (2, 500.00);
-- 开始事务
START TRANSACTION;
-- 从账户1扣除100.00
UPDATE accounts SET balance = balance - 100.00 WHERE account