SQL commit和rollback

文章讨论了数据库中的COMMIT和ROLLBACK命令,前者用于永久保存数据,后者用于回滚事务。TRUNCATETABLE删除所有数据且不可回滚,而DELETEFROM可回滚。DDL操作如表结构改变一旦执行无法回滚,但DML操作在关闭自动提交后可以。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DCL 中 COMMIT 和 ROLLBACK

  1. COMMIT:提交数据后,执行COMMIT,数据就无法回滚。数据就会永久保存在数据库中。
  2. ROLLBACK:回滚数据,执行ROLLBACK,实现数据的回滚,回滚到近一次COMMIT之后。

TRUNCATE TABLE 和 DELETE FROM (不带where)

  1. 相同处:删除表的所有数据,但保留表的结构
  2. 差异处:TRUNCATE TABLE :一旦执行不能回滚数据,但是DELETE FROM可以回滚数据

SET autocommit = FALSE(关闭自动提交)

  1. DDL 语句的操作一旦执行无法回滚,提前设置SET autocommit = FALSE也不行
  2. DML 语句的操作默认情况下执行后无法回滚,提前设置SET autocommit = FALSE后可以回滚

(DDL:数据库定义语言 DML:数据库操作语言 DCL:数据库控制语言)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值