当前位置: 主页 > 数据库

数据库commit-标库网数据怎么样

发布时间:2023-02-09 07:16   浏览次数:次   作者:佚名

DCL操作的COMMIT和ROLLBACK操作 COMMIT:提交数据 ROLLBACK:回滚数据 对于DDL和DML中COMMIT和ROLLBACK操作的说明:DDL操作一旦执行数据库commit,就不能回滚,指令集autocommit = false无效对于DDL操作(因为执行完DDL操作后,会进行commit操作,而这个commit操作不会受到"set autocommit = false"的影响) DML操作默认执行一次是不能回滚的,但是如果我们执行DML操作之前,执行set autocommit = false,那么执行的DML操作不会被自动保存,也就是说对于DML操作:如果我们在执行DML操作之前设置autocommit = false数据库commit,那么只能通过回滚ROLLBACK(即撤销已执行的 DML 操作)。 总结:DDL必须自动保存,DML默认也是自动保存的,不过可以设置为不自动保存。 比较 TRUNCATE TABLE 和 DELETE FROM 操作的区别:

相同点:两者都可以实现表中所有数据的删除,同时保留表结构

区别:一旦执行truncate table操作,所有表数据将被清空,数据无法回滚,但执行delete from操作后,如果没有where子句,表中数据将被删除此时清空所有,删除的数据可以同时恢复

标库网数据怎么样_数据库commit_数据黑名单库他再次告诫我们什么

这里我们通过一个例子来理解,执行DELETE FROM操作后可以回滚数据,执行TRUNCATE TABLE操作后不能回滚数据。

COMMIT;

标库网数据怎么样_数据黑名单库他再次告诫我们什么_数据库commit

SELECT * FROM emp3; SET autocommit = FALSE;

数据库commit_数据黑名单库他再次告诫我们什么_标库网数据怎么样

DELETE FROM emp3;

数据黑名单库他再次告诫我们什么_数据库commit_标库网数据怎么样

SELECT * FROM emp3; ROLLBACK;

标库网数据怎么样_数据黑名单库他再次告诫我们什么_数据库commit

SELECT * FROM emp3;

注意:如果我把上面的delete from emp3换成truncate table emp3,我们会发现,即使后面进行回滚操作,我们会发现查询后表中的数据还是没有返回,表还是一个空表