当前位置: 主页 > 数据库

数据库commit-纯真ip库数据

发布时间:2023-02-08 22:44   浏览次数:次   作者:佚名

MYSQL的COMMIT和ROLLBACK

SQL语言从功能上可以分为三类:DDL、DML和DCL。

1. DDL(数据定义语言)

数据定义语言,一种用于定义和管理SQL数据库中所有对象的语言;

创建---创建一个表

ALTER --- 修改表

DROP --- 删除表

2. DML(数据操作语言)

数据操作语言,在SQL中处理数据等操作统称为数据操作语言;

INSERT---插入数据

DELETE --- 数据删除

UPDATE---数据修改

纯真ip库数据_数据库commit_数据黑名单库他再次告诫我们什么

SELECT---数据查询

3.DCL(数据控制语言)

数据控制语言,用于授予或撤销某些访问数据库的权限,控制数据库操作事务的时间和效果数据库commit,监控数据库等;

GRANT ---授权。

ROLLBACK---回滚。

COMMIT --- 提交。

4、提交数据分为显式提交、隐式提交和自动提交三种。

下面分别介绍这三种类型。

(1) 显式提交

直接使用 COMMIT 命令完成的提交是显式提交。

数据黑名单库他再次告诫我们什么_纯真ip库数据_数据库commit

(2) 隐式提交

使用 SQL 命令间接完成的提交是隐式提交。 这些命令是:

更改、审核、评论、连接、创建、断开连接、删除、退出、授予、NOAUDIT、退出、撤销、重命名。

(3) 自动提交

如果AUTOCOMMIT设置为ON,系统会在执行完插入、修改、删除语句后自动提交,即自动提交。 它的格式是: SQL>SET AUTOCOMMIT ON ;

使用 COMMIT / ROLLBACK 这两个命令时要小心。 执行 DML 语句(INSERT / DELETE / UPDATE / SELECT)后使用 COMMIT / ROLLBACK。 DML语句执行后,处理后的数据会被放入回滚段(SELECT语句除外),等待用户提交(COMMIT)或回滚(ROLLBACK)。 当用户执行 COMMIT / ROLLBACK 时,会将位于回滚段中的数据删除。

(SELECT语句执行后,数据存储在共享池中,同样的数据提供给别人查询时,直接从共享池中提取,而不是从数据库中提取,提高了数据查询速度询问。)

所有的DML语句都必须显式提交数据库commit,也就是说,必须在DML语句执行完之后才执行COMMIT。 其他的,例如 DDL 语句,是隐式提交的。 也就是说,运行完那些非DML语句后,数据库已经隐式提交了,比如CREATE TABLE。 运行脚本后,表已经建好,不需要显式提交。

在提交事务(commit)之前,可以使用rollback来回滚事务。

#commit和rollback用于保证数据库有足够的剩余空间;

纯真ip库数据_数据库commit_数据黑名单库他再次告诫我们什么

#commi,rollback只能用于DML操作,即插入、更新、删除;

#rollback 操作在上次提交和回滚之后取消事务。

创建表测试

(

PROD_ID varchar(10) 不为空,

PROD_DESC varchar(25) 空,

COST 十进制 (6,2) 空

);

#禁用自动提交

设置自动提交=0;

纯真ip库数据_数据黑名单库他再次告诫我们什么_数据库commit

#设置事务特性,必须在所有事务开始前设置

#设置交易只读; #设置事务只读

设置事务读写; #设置事务可读可写

# 开始交易

开始交易;

插入测试

值('4456','右先生',46.97);

犯罪; #位置1

插入测试

值('3345','先生错',54.90);

数据黑名单库他再次告诫我们什么_数据库commit_纯真ip库数据

回滚; #回到位置1,(位置2); 最后提交

插入测试

值('1111','万先生',89.76);

回滚; #回到位置2,最后回滚

#测试保存点savepoint

保存点 point1;

更新测试

设置 PROD_ID=1;

回滚到点 1; #返回保存点point1

释放保存点point1; #删除保存点

跌落台测试;

文章来自