Einführung
Die Verwaltung von Datentransaktionen ist eine wichtige Fähigkeit bei der Arbeit mit DatenbankenInstruments wie Strukturierte Abfragesprache (SQL) hilft Ihnen dabei, dies effizient zu tun. Es bietet eine Reihe integrierter Befehle, die Transaktionen verarbeiten und so die Datenintegrität und -konsistenz sicherstellen können. Die beiden am häufigsten verwendeten Befehle in diesem Zusammenhang sind COMMIT und ROLLBACK. In diesem Artikel werden wir versuchen, die Unterschiede zwischen den Befehlen COMMIT und ROLLBACK in SQL zu verstehen, indem wir sie im Element kennenlernen. Wir werden ihre Verwendung auch anhand praktischer Beispiele untersuchen, um die Transaktionsverwaltung in SQL zu meistern.
Wenn Sie gerade erst mit SQL beginnen, hilft Ihnen der folgende Leitfaden für Anfänger: SQL für Information Science: Ein Leitfaden für Anfänger
Überblick
- Verstehen Sie das Konzept von Transaktionen in SQL.
- Erfahren Sie, was die Befehle COMMIT und ROLLBACK in SQL bewirken.
- Kennen Sie die wichtigsten Unterschiede zwischen den Befehlen COMMIT und ROLLBACK.
- Erfahren Sie, wie Sie diese Befehle in SQL praktisch verwenden.
Was ist eine Transaktion in SQL?
In SQL ist eine Transaktion eine Folge von einem oder mehreren Vorgängen, die als eine einzelne Arbeitseinheit behandelt werden. Mit anderen Worten handelt es sich um eine Reihe oder Kombination von Befehlen oder Aktionen (wie INSERT, UPDATE, DELETE usw.), die zusammen einen Prozess bilden. Dabei ist zu beachten, dass der gesamte Prozess abgebrochen wird, wenn auch nur einer dieser Befehle nicht abgeschlossen wird. Daher müssen alle Vorgänge abgeschlossen sein, damit die Transaktion durchgeführt werden kann.
Transaktionen folgen den folgenden Eigenschaften, die zusammen als ACID bezeichnet werden:
- Atomarität: Sie stellen sicher, dass alle Vorgänge innerhalb der Transaktion abgeschlossen werden. Andernfalls wird die Transaktion abgebrochen.
- Konsistenz: Sie stellen sicher, dass die Datenbank vor und nach der Transaktion in einem gültigen Zustand bleibt.
- Isolierung: Sie stellen sicher, dass gleichzeitige Transaktionen sich nicht gegenseitig beeinträchtigen.
- Haltbarkeit: Sie stellen sicher, dass eine einmal ausgeführte Transaktion dauerhaft in der Datenbank übernommen wird.
SQL COMMIT-Befehl
Mit dem COMMIT-Befehl in SQL werden alle während der aktuellen Transaktion vorgenommenen Änderungen gespeichert. Sobald ein COMMIT-Befehl ausgegeben wird, werden die Änderungen dauerhaft und für andere Benutzer sichtbar.
Syntax: COMMIT;
Wichtige Punkte
- Der Befehl COMMIT schließt die Transaktion ab und macht alle durch die Transaktion vorgenommenen Änderungen dauerhaft.
- Der COMMIT-Vorgang ist irreversibel.
- Nach der Ausführung sind die Änderungen für andere Benutzer und Sitzungen sichtbar.
Praktisches Beispiel
START TRANSACTION;
INSERT INTO workers (identify, place, wage) VALUES ('Alice', 'Engineer', 70000);
UPDATE workers SET wage = wage + 5000 WHERE identify="Alice";
COMMIT;
In diesem Beispiel fügt die Transaktion einen neuen Mitarbeiter ein und aktualisiert das Gehalt. Der Befehl COMMIT speichert diese Änderungen.
SQL ROLLBACK-Befehl
Mit dem ROLLBACK-Befehl in SQL können Sie alle während der aktuellen Transaktion vorgenommenen Änderungen rückgängig machen. Sie können diesen Befehl verwenden, wenn während einer Transaktion ein Fehler auftritt oder Sie die durchgeführten Vorgänge nicht mehr bedenken. Die Datenbank wird dadurch in den vorherigen Zustand vor Beginn der Transaktion zurückgesetzt.
Syntax: ROLLBACK;
Wichtige Punkte
- Der ROLLBACK Der Befehl macht alle durch die aktuelle Transaktion vorgenommenen Änderungen rückgängig.
- Dadurch wird die Datenbank in den Zustand zurückversetzt, in dem sie sich vor Beginn der Transaktion befand.
- Es ist sehr praktisch für die Fehlerbehandlung und die Wahrung der Datenintegrität.
- Einige Datenbanksysteme unterstützen teilweise Rollbacks zu einem Sicherungspunkt. Dadurch können Sie nur einen Teil einer Transaktion zurücksetzen.
Praktisches Beispiel
START TRANSACTION;
INSERT INTO workers (identify, place, wage) VALUES ('Bob', 'Supervisor', 90000);
UPDATE workers SET wage = wage + 5000 WHERE identify="Bob";
ROLLBACK;
Hier fügt die Transaktion einen neuen Mitarbeiter ein und aktualisiert das Gehalt. Der ROLLBACK-Befehl macht diese Änderungen jedoch rückgängig.
Unterschiede zwischen COMMIT und ROLLBACK in SQL
Besonderheit | BEGEHEN | ROLLBACK |
Funktion | Speichert alle in der Transaktion vorgenommenen Änderungen | Macht alle in der Transaktion vorgenommenen Änderungen rückgängig |
Haltbarkeit | Stellt sicher, dass Änderungen dauerhaft sind | Stellt sicher, dass Änderungen nicht gespeichert werden |
Verwendung | Wird verwendet, wenn alle Vorgänge erfolgreich sind | Wird verwendet, wenn ein Fehler auftritt oder eine Transaktion fehlschlägt |
Syntax | BEGEHEN; | ROLLBACK; |
Reversibilität | Nach der Ausführung irreversibel | Kann mehrfach ausgeführt werden, wenn die Transaktion fehlschlägt |
Abschluss
Das Verstehen und effektive Verwenden der Befehle COMMIT und ROLLBACK ist für die Verwaltung von Transaktionen in SQL unerlässlich. Durch die Verwendung von COMMIT machen Sie Ihre Änderungen dauerhaft und für andere sichtbar. Mit ROLLBACK können Sie Änderungen rückgängig machen und die Datenbank in ihren vorherigen Zustand zurückversetzen. Zusammen helfen diese Befehle dabei, die Datenintegrität aufrechtzuerhalten, Fehler zu behandeln und sicherzustellen, dass die Datenbank in einem konsistenten Zustand bleibt. Egal, ob Sie eine neue Anwendung entwickeln oder eine vorhandene Datenbank verwalten, die Beherrschung von COMMIT und ROLLBACK hilft Ihnen, die Kontrolle über Ihre Daten zu behalten und sicherzustellen, dass Ihre Transaktionen korrekt ausgeführt werden.
Erfahren Sie mehr: SQL: Ein umfassender Leitfaden von den Grundlagen bis zum fortgeschrittenen Niveau
Häufig gestellte Fragen
A. Wenn Sie COMMIT nicht verwenden, werden die in der Transaktion vorgenommenen Änderungen nicht gespeichert und gehen verloren, sobald die Sitzung beendet wird oder ein ROLLBACK ausgegeben wird.
A. Nein, sobald ein COMMIT ausgeführt wurde, sind die Änderungen dauerhaft und können nicht mit ROLLBACK rückgängig gemacht werden.
A. ROLLBACK macht alle in der Transaktion vorgenommenen Änderungen rückgängig, während Sie mit SAVEPOINT einen Punkt innerhalb einer Transaktion festlegen können, zu dem Sie später zurückkehren können.
A. Im Auto-Commit-Modus wird jede einzelne SQL-Anweisung als Transaktion behandelt und direkt nach der Ausführung automatisch festgeschrieben.
A. Nicht unbedingt. Diese Befehle werden zum Verwalten expliziter Transaktionen verwendet. Im Auto-Commit-Modus wird jede SQL-Anweisung automatisch festgeschrieben.