DCL 中COMMIT和ROLLBACK的使用

#DCL 中COMMIT和ROLLBACK的使用
#COMMIT:提交数据.一旦执行,则数据就永远的保存在数据库中,意味着数据不能回滚
#ROLLBACK:一旦执行,则可以实现数据的回滚.回滚到最近的一次COMMIT之后

#对比TRUNCATE TABLE 和DELETE FROM
#相同点:都可以实现对表中所有数据的删除,同时保留表结构
#不同点:TRUNCATE TABLE:一旦执行,表数据全部清除同时不能回滚
#				 DELETE FROM :一旦执行,表数据可以全部清除(不带WHERE),同时数据可以实现回滚

/*
	DDL 和 DML 说明
	DDL:一旦执行就不可回滚。指令SET autocommit = FALSE对DDL失效
	DML:默认情况下,一旦执行也不能回滚。但是,如果在执行DML之前,执行了 
	SET autocommit = FALSE ,则执行的DML操作就可以实现回滚。
*/

 #DELETE FROM
#1)
COMMIT;
#2)
SELECT *
FROM myempl3;
#3)
SET autocommit = FALSE ;
#4)
DELETE FROM myempl3;
#5)
SELECT *
FROM myempl3;
#6)
ROLLBACK;
#7)
SELECT *
FROM myempl3;

#TRUNCATE TABLE
#1)
COMMIT;
#2)
SELECT *
FROM myempl3;
#3)
SET autocommit = FALSE ;
#4)
TRUNCATE TABLE myempl3;
#5)
SELECT *
FROM myempl3;
#6)
ROLLBACK;
#7)
SELECT *
FROM myempl3;

#测试MySQL8.0的新特性:DDL的原子化
CREATE DATABASE mytest;
USE mytest;
CREATE TABLE book1(
book_id INT,
book_name VARCHAR(255)
);
SHOW TABLES;

DROP TABLE book1,book2;
SHOW TABLES;
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值