SQLのコミットとロールバック

データベースの最も重要な側面は、データの保存と操作の能力です。COMMITとROLLBACKは、データの保存とその処理の取り消しを行うために使用されるキーワードの2つです。これらのキーワードは通常、トランザクションと関連して使用されます。COMMITとROLLBACKの詳細について理解してみましょう。

SQLのコミットとロールバック

トランザクションにおいて、COMMITとROLLBACKが実行されます。トランザクションはデータベースへの対応する最小単位の作業です。それは論理的な順序での指示のシーケンスです。トランザクションはプログラマによって手動で実行されることもありますし、自動化されたプログラムを使用してトリガーできることもあります。

SQLコミット

COMMITは、トランザクションで行われた変更内容を保存するために使用されるSQLコマンドです。COMMITコマンドが実行されると、最後のCOMMITまたはROLLBACKからの全ての変更内容が保存されます。

SQLの「COMMIT」の文法

COMMIT;

コミットの構文には、COMMITというキーワードだけが含まれます。

SQLのコミットの例

以下の表を考えましょう。より良い理解のために、顧客を考慮しましょう。

CUSTOMER ID CUSTOMER NAME STATE COUNTRY
1 Akash Delhi India
2 Amit Hyderabad India
3 Jason California USA
4 John Texas USA

上記のテーブルから、Stateが「Texas」である1行を削除しましょう。

DELETE from Customer where State = 'Texas';
SQL Commit

もしCOMMITを公開しない場合は、DELETEコマンドを投稿してください。そして、セッションが終了した場合には、DELETEコマンドによる変更は失われます。COMMITを含めた更新されたコマンド。

DELETE from Customer where State = 'Texas';
COMMIT;
SQL transaction commit

上記のコマンドシーケンスを使用すると、削除コマンド後の変更が正常に保存されます。

コミット後の出力

CUSTOMER ID CUSTOMER NAME STATE COUNTRY
1 Akash Delhi India
2 Amit Hyderabad India
3 Jason California USA
SQL Commit example

SQLのロールバック

ロールバックは、トランザクションによって行われた変更を元に戻すために使用されるSQLコマンドです。ロールバックコマンドが発行されると、最後のコミットまたはロールバック以降のすべての変更が元に戻されます。

SQLロールバックの構文

ROLLBACK;

ロールバックの構文には、キーワード「ロールバック」が1つだけ含まれています。

SQL ロールバックの例

以下のテーブルを考えましょう。ロールバックをより理解するために。顧客:

CUSTOMER ID CUSTOMER NAME STATE COUNTRY
1 Akash Delhi India
2 Amit Hyderabad India
3 Jason California USA
4 John Texas USA

今、上の表から州が「テキサス」の行を削除しましょう。

DELETE from Customer where State = 'Texas';
SQL Delete without rollback

削除コマンドを投稿して、もしROLLBACKを公開すれば、削除コマンドによって生じた変更が元に戻されます。ROLLBACKを使用した更新されたコマンド。

DELETE from Customer where State = 'Texas';
ROLLBACK;
SQL rollback example

上記のコマンドのシーケンスを使用することで、DELETE コマンドの後の変更が正常に元に戻されることが保証されます。

ロールバック後の出力

CUSTOMER ID CUSTOMER NAME STATE COUNTRY
1 Akash Delhi India
2 Amit Hyderabad India
3 Jason California USA
4 John Texas USA
sql rollback command
コメントを残す 0

Your email address will not be published. Required fields are marked *


广告
広告は10秒後に閉じます。
bannerAds