MySQL MariaDB

MySQL-Transaktionen

MySQL-Transaktionen
Eine Transaktion ist eine gleichzeitige Sammlung von Funktionen zur Manipulation von Datensätzen und wird wie eine einzelne Arbeitseinheit ausgeführt. Mit anderen Worten, eine Transaktion kann niemals durchgeführt werden, bis jeder einzelne Prozess innerhalb der Einheit erfolgreich ist. Der gesamte Prozess wird zusammenbrechen, wenn eine Transaktion innerhalb des Prozesses abstürzt. Mehrere SQL-Abfragen werden zu einer Einheit zusammengefasst, und alle werden zusammen als Teil der Transaktion ausgeführt. Wenn eine Transaktion mehrere Aktualisierungen einer Datenbank enthält und die Transaktion festgeschrieben wird, funktionieren alle Änderungen oder alle Aktualisierungen werden rückgängig gemacht, wenn die Operation zurückgesetzt wird.

Transaktionseigenschaften

Transaktionen, häufig bekannt unter dem Begriff ACID, haben vier allgemeine Haupteigenschaften.

MySQL-Transaktionen funktionieren:

Innerhalb von MySQL werden die beiden Begriffe Commit und Rollback hauptsächlich nur für MySQL-Transaktionen verwendet. Die Transaktionen beginnen nur mit der BEGIN WORK-Deklaration und enden entweder mit einer COMMIT-Deklaration oder einer ROLLBACK-Deklaration. Die SQL-Anweisungen machen den Großteil der Transaktion aus, sowohl bei den Start- als auch bei den Stoppanweisungen. Solche Ereignisreihen sind unabhängig von der verwendeten spezifischen Programmiersprache. Sie erstellen einen geeigneten Pfad in der Sprache, die Sie zum Erstellen der Anwendung verwenden. Die folgenden SQL-Anweisungen können mit der Funktion mysql query() implementiert werden.

Beispiel 01: AutoCommit-Modus Ein:

MySQL arbeitet mit der Autocommit-Phase, die standardmäßig zugelassen ist. Es stellt sicher, dass MySQL die Änderungen auf der Festplatte speichert, um sie dauerhaft zu erstellen, solange wir eine Abfrage ausführen, die eine Tabelle anpasst (ändert). Es ist nicht notwendig, den Zug rückgängig zu machen. Versuchen wir es mit AUTOCOMMIT on-Modus. Öffnen Sie Ihre MySQL-Befehlszeilen-Shell und geben Sie Ihr Passwort ein, um zu beginnen.

Nehmen Sie ein Beispiel für eine Tabelle 'book', die in einer Datenbank 'data' erstellt wurde. Im Moment haben wir noch keine Abfrage dazu durchgeführt.

>> AUSWÄHLEN * AUS Daten.Buch;

Schritt 2: Dieser Vorgang dient zum Aktualisieren der Tabelle 'book'. Lassen Sie uns den Wert der Spalte 'Autor' aktualisieren, wobei der 'Name' eines Buches 'Home' ist. Sie können sehen, dass die Änderungen erfolgreich vorgenommen wurden.

>> Daten aktualisieren.Buch SET Autor = 'Cristian Steward' WHERE Name = 'Home';

Wenn wir einen Blick auf die aktualisierte Tabelle werfen, haben wir einen geänderten Wert des Autors, wobei 'name' 'Home' ist.

>> AUSWÄHLEN * AUS Daten.Buch;

Lassen Sie uns den ROLLBACK-Befehl verwenden, um die Änderungen rückgängig zu machen, indem Sie einfach die folgende Abfrage hinzufügen. Sie können sehen, dass die ROLLBACK-Abfrage hier nicht funktioniert, da sie zeigt, dass '0 Zeilen betroffen' sind.

>> ROLLBACK;

Sie können sogar die Tabelle sehen. Die Tabelle hat nach der Ausführung der ROLLBACK-Anweisung bisher keine Änderungen erhalten. Das bedeutet, dass das ROLLBACK nicht funktioniert, wenn wir AUTOCOMMIT standardmäßig aktiviert haben.

>> AUSWÄHLEN * AUS Daten.Buch;

Beispiel 02: AutoCommit-Modus aus:

Um die vorgenommenen Änderungen rückgängig zu machen, versuchen wir es mit dem ausgeschalteten AUTOCOMMIT-Modus. Am selben Beispiel der Tabelle 'book' werden wir einige Änderungen daran vornehmen. Wir werden die START TRANSACTION-Deklaration verwenden, um die Auto-Commit-Phase zu deaktivieren oder einfach den folgenden Befehl eingeben, um AUTOCOMMIT auszuschalten.

>> SET AUTOCOMMIT = 0;

Nehmen wir an, wir haben die gleiche Tabelle 'book' in unserer Datenbank und müssen Änderungen daran vornehmen. Dann diese Änderungen wieder auf die alten zurücksetzen.

>> AUSWÄHLEN * AUS Daten.Buch;

Wenn Sie den AUTOCOMMIT-Modus nicht deaktiviert haben, beginnen Sie mit einer START TRANSACTION-Abfrage in der Befehlszeilen-Shell wie unten.

>> TRANSAKTION STARTEN;

Wir werden dieselbe Tabelle mit dem UPDATE-Befehl aktualisieren, indem wir den 'Autor' auf 'Aliana' setzen, wobei der 'Name' eines Buches 'Dream' ist. Tun Sie es, indem Sie den folgenden Befehl verwenden. Sie werden sehen, dass die Änderungen erfolgreich und effektiv durchgeführt werden.

>> Daten aktualisieren.Buch SET Autor = 'Aliana' WO Name = 'Traum';

Lassen Sie uns überprüfen, ob die obige Abfrage einwandfrei funktioniert und Änderungen an der Tabelle vorgenommen hat oder nicht. Sie können die aktualisierte Tabelle wie immer mit dem folgenden SELECT-Befehl überprüfen.

>> AUSWÄHLEN * AUS Daten.Buch;

Sie können sehen, dass die Abfrage wie unten gezeigt hervorragend funktioniert hat.

Jetzt ist der ROLLBACK-Befehl an der Reihe, um seine Funktion auszuführen. Versuchen Sie den ROLLBACK-Befehl in Ihrer Befehlszeile, um die letzte Aktualisierung der Tabelle zurückzusetzen.

>> ROLLBACK;

Lassen Sie uns überprüfen, ob die ROLLBACK-Abfrage so bearbeitet wurde, wie sie funktionieren sollte oder nicht. Dazu müssen Sie die Tabelle 'book' erneut überprüfen, indem Sie wie immer den Befehl 'SELECT' verwenden.

>> AUSWÄHLEN * AUS Daten.Buch;

Sie können an der folgenden Ausgabe sehen, dass ROLLBACK endlich funktioniert hat. Die Änderungen, die von der UPDATE-Abfrage an dieser Tabelle vorgenommen wurden, wurden zurückgesetzt.

Fazit:

Das ist alles für MySQL-Transaktionen. Ich hoffe, dieser Leitfaden wird Ihnen helfen, MySQL-Transaktionen bequem durchzuführen.

Herunterladen und Spielen von Sid Meier's Civilization VI unter Linux and
Einführung in das Spiel Civilization 6 ist eine moderne Version des klassischen Konzepts, das in der Reihe der Age of Empires-Spiele eingeführt wurde....
So installieren und spielen Sie Doom unter Linux
Einführung in Doom Die Doom-Serie entstand in den 90er Jahren nach der Veröffentlichung des ursprünglichen Doom. Es war sofort ein Hit und seitdem hat...
Vulkan für Linux-Benutzer
Mit jeder neuen Grafikkartengeneration stoßen Spieleentwickler an die Grenzen der grafischen Wiedergabetreue und kommen dem Fotorealismus einen Schrit...