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';
もしCOMMITを公開しない場合は、DELETEコマンドを投稿してください。そして、セッションが終了した場合には、DELETEコマンドによる変更は失われます。COMMITを含めた更新されたコマンド。
DELETE from Customer where State = 'Texas';
COMMIT;
上記のコマンドシーケンスを使用すると、削除コマンド後の変更が正常に保存されます。
コミット後の出力
CUSTOMER ID | CUSTOMER NAME | STATE | COUNTRY |
---|---|---|---|
1 | Akash | Delhi | India |
2 | Amit | Hyderabad | India |
3 | Jason | California | USA |
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';
削除コマンドを投稿して、もしROLLBACKを公開すれば、削除コマンドによって生じた変更が元に戻されます。ROLLBACKを使用した更新されたコマンド。
DELETE from Customer where State = 'Texas';
ROLLBACK;
上記のコマンドのシーケンスを使用することで、DELETE コマンドの後の変更が正常に元に戻されることが保証されます。
ロールバック後の出力
CUSTOMER ID | CUSTOMER NAME | STATE | COUNTRY |
---|---|---|---|
1 | Akash | Delhi | India |
2 | Amit | Hyderabad | India |
3 | Jason | California | USA |
4 | John | Texas | USA |