SQL提交和回滚
时间:2020-02-23 14:32:24 来源:igfitidea点击:
数据库最重要的方面是存储数据的能力和处理数据的能力。
COMMIT和ROLLBACK是两个这样的关键字,它们用于顺序存储和还原数据存储过程。
这些关键字通常在事务中使用。
让我们尝试了解有关COMMIT和ROLLBACK的详细信息。
SQL提交和回滚
COMMIT和ROLLBACK在事务上执行。
事务是针对数据库执行的最小工作单元。
它是逻辑顺序的指令序列。
交易可以由程序员手动执行,也可以使用自动化程序触发。
SQL提交
COMMIT是用于存储事务执行的更改的SQL命令。
发出COMMIT命令时,它将保存自上次COMMIT或者ROLLBACK以来的所有更改。
SQL提交的语法
COMMIT;
提交的语法仅包含一个关键字COMMIT。
SQL提交示例
让我们考虑下表,以更好地理解Commit。
顾客:
CUSTOMER ID | CUSTOMER NAME | STATE | COUNTRY |
---|---|---|---|
1 | Akash | Delhi | San Franceco |
2 | Amit | Hyderabad | San Franceco |
3 | Jason | California | USA |
4 | John | Texas | USA |
现在,让我们从上表中删除一个状态为" Texas"的行。
DELETE from Customer where State = 'Texas';
如果我们不发布COMMIT,则发布DELETE命令,并且如果会话关闭,则由于DELETE命令所做的更改将丢失。
使用COMMIT更新命令
DELETE from Customer where State = 'Texas'; COMMIT;
使用上述命令序列将确保change post DELETE命令将成功保存。
提交后输出
CUSTOMER ID | CUSTOMER NAME | STATE | COUNTRY |
---|---|---|---|
1 | Akash | Delhi | San Franceco |
2 | Amit | Hyderabad | San Franceco |
3 | Jason | California | USA |
SQL回滚
ROLLBACK是用于还原事务执行的更改的SQL命令。
发出ROLLBACK命令时,它将还原自上次COMMIT或者ROLLBACK之后的所有更改。
SQL回滚的语法
ROLLBACK;
回滚的语法仅包含一个关键字ROLLBACK。
SQL回滚示例
让我们考虑下表,以更好地理解回滚。
顾客:
CUSTOMER ID | CUSTOMER NAME | STATE | COUNTRY |
---|---|---|---|
1 | Akash | Delhi | San Franceco |
2 | Amit | Hyderabad | San Franceco |
3 | Jason | California | USA |
4 | John | Texas | USA |
现在,让我们从上表中删除一个状态为" Texas"的行。
DELETE from Customer where State = 'Texas';
如果发布ROLLBACK,则发布DELETE命令,它将恢复由于delete命令而执行的更改。
使用ROLLBACK更新了命令
DELETE from Customer where State = 'Texas'; ROLLBACK;
使用上述命令序列将确保change post DELETE命令将被成功还原。
回滚后输出
CUSTOMER ID | CUSTOMER NAME | STATE | COUNTRY |
---|---|---|---|
1 | Akash | Delhi | San Franceco |
2 | Amit | Hyderabad | San Franceco |
3 | Jason | California | USA |
4 | John | Texas | USA |