English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Ein Geschäft ist ein Arbeitsblock für die Datenbank. Ein Geschäft ist eine Einheit oder eine Reihenfolge von Arbeiten, die in logischer Reihenfolge abgeschlossen werden, sei es von einem Benutzer manuell oder von einer Art Datenbankprogramm automatisch abgeschlossen.
Ein Geschäft ist die Verteilung einer oder mehrerer Änderungen auf die Datenbank. Zum Beispiel führen Sie ein Geschäft auf dem Tisch aus, um Zeilen zu erstellen, zu aktualisieren oder zu löschen. Es ist wichtig, das Geschäft zu steuern, um die Datenintegrität zu gewährleisten und Datenbankfehler zu behandeln.
Tatsächlich werden Sie viele SQLite-Abfragen zu einer Gruppe zusammenfassen und sie als Teil eines Geschäfts gemeinsam ausführen.
Ein Geschäft hat folgende vier Standardeigenschaften, die normalerweise durch die Abkürzung ACID dargestellt werden.
Atomarität (Atomicity):Stellen Sie sicher, dass alle Operationen im Arbeitsbereich erfolgreich abgeschlossen werden, andernfalls wird das Geschäft bei einem Ausfall beendet und die vorherigen Operationen werden auf den früheren Zustand zurückgerollt.
Konsistenz (Konsistenz):Stellt sicher, dass die Datenbank den Zustand korrekt ändert, auf dem eine Transaktion erfolgreich bestätigt wurde.
Isolation (Isolation):Macht die Transaktionsoperationen voneinander unabhängig und transparent.
Durabilität (Dauerhaftigkeit):Stellen Sie sicher, dass die Ergebnisse oder Auswirkungen der abgeschlossenen Transaktionen im Falle eines Systemausfalls weiterhin bestehen.
Hier sind die folgenden Befehle zur Transaktionssteuerung:
BEGIN TRANSACTION −Eine Transaktion starten.
COMMIT−Um die Änderungen zu speichern, kann auchEND TRANSACTIONBefehl.
ROLLBACK −Änderungen zurückrollen.
Transaktionssteuerungsbefehle werden nur mit DML-Befehlen INSERT, UPDATE und DELETE verwendet. Sie können nicht verwendet werden, um Tabellen zu erstellen oder zu löschen, da diese Operationen in der Datenbank automatisch bestätigt werden.
Es kann BEGIN TRANSACTION oder einfach BEGIN verwendet werden, um eine Transaktion zu starten. Solche Transaktionen dauern in der Regel bis zum nächsten COMMIT- oder ROLLBACK-Befehl. Aber wenn die Datenbank geschlossen wird oder ein Fehler auftritt, wird die Transaktion auch zurückgerollt. Hier ist die einfache Syntax zum Starten einer Transaktion.
BEGIN; oder BEGIN TRANSACTION;
Der COMMIT-Befehl ist ein transaktionaler Befehl, der verwendet wird, um die Änderungen der Transaktionsaufrufe in die Datenbank zu speichern.
Seit dem letzten COMMIT- oder ROLLBACK-Befehl speichert der COMMIT-Befehl alle Transaktionen in die Datenbank.
Hier ist die Syntax des COMMIT-Befehls.
COMMIT; oder END TRANSACTION;
Der ROLLBACK-Befehl ist ein transaktionaler Befehl, der verwendet wird, um noch nicht in die Datenbank gesicherte Transaktionen rückgängig zu machen.
Seit dem letzten COMMIT- oder ROLLBACK-Befehl kann der ROLLBACK-Befehl nur verwendet werden, um Transaktionen rückgängig zu machen.
Hier ist die Syntax des ROLLBACK-Befehls.
ROLLBACK;
Online-Beispiel
mit folgenden Einträgen in der Tabelle COMPANY.
ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 Norway 20000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0
Lasst uns eine Transaktion beginnen und von age = 25aus dem Tisch gelöscht. Dann verwenden wir den Befehl ROLLBACK, um alle Änderungen rückgängig zu machen.
sqlite> BEGIN; sqlite> DELETE FROM COMPANY WHERE AGE = 25; sqlite> ROLLBACK;
Jetzt, wenn du die Tabelle COMPANY überprüfst, hat sie immer noch die folgenden Einträge-
ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 Norway 20000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0
Lasst uns eine andere Transaktion beginnen und von AGE = 25aus dem Tisch gelöscht, und dann verwenden wir den Befehl COMMIT, um alle Änderungen zu bestätigen.
sqlite> BEGIN; sqlite> DELETE FROM COMPANY WHERE AGE = 25; sqlite> COMMIT;
Wenn Sie jetzt überprüfen, ob die Tabelle COMPANY weiterhin die folgenden Einträge hat-
ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 3 Teddy 23 Norway 20000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0