MySQL MariaDB

Tranzacții MySQL

Tranzacții MySQL
O tranzacție este o colecție simultană de funcții pentru manipularea seturilor de date și se realizează ca și cum ar fi o singură entitate de lucru. Cu alte cuvinte, o tranzacție nu poate fi realizată niciodată până când fiecare proces particular nu are succes în interiorul unității. Întregul proces se va prăbuși dacă orice tranzacție din interiorul procesului se blochează. Mai multe interogări SQL sunt încorporate într-o unitate și toate vor fi executate împreună ca o parte a tranzacției sale. Ori de câte ori o tranzacție încorporează mai multe actualizări într-o bază de date și tranzacția este angajată, toate modificările funcționează sau toate actualizările sunt inversate ori de câte ori operațiunea este anulată.

Proprietăți de tranzacție

Tranzacții, cunoscute frecvent prin termen ACID, au patru proprietăți generale principale.

Tranzacțiile MySQL funcționează:

În cadrul MySQL, cei doi termeni, Commit și Rollback sunt folosiți în primul rând numai pentru tranzacțiile MySQL. Tranzacțiile încep doar cu declarația BEGIN WORK și se încheie fie printr-o declarație COMMIT, fie printr-o declarație ROLLBACK. Instrucțiunile SQL cuprind majoritatea tranzacției atât între declarațiile de pornire, cât și de oprire. O astfel de serie de evenimente este indiferent de limbajul de programare specific utilizat. Veți face o cale adecvată în orice limbă utilizați pentru a construi aplicația. Instrucțiunile SQL de mai jos pot fi implementate folosind caracteristica mysql query ().

Exemplul 01: Mod AutoCommit Activat:

MySQL funcționează cu faza de Autocommit permisă implicit. Se asigură că MySQL salvează modificările pe disc pentru a le crea perpetuu, atâta timp cât executăm o interogare care ajustează (modifică) un tabel. Nu este necesar să întoarceți mișcarea. Să încercăm cu AUTOCOMMIT on mode. Deschideți shell-ul MySQL din linia de comandă și introduceți parola pentru a începe.

Luați un exemplu de tabel „carte” care a fost creat într-o bază de date „date”. În acest moment, nu am efectuat încă nicio interogare.

>> SELECT * DIN date.carte;

Pasul 2: Acest proces este de a actualiza tabelul „carte”. Să actualizăm valoarea coloanei „Autor” unde „Numele” unei cărți este „Acasă”. Puteți vedea că modificările au fost efectuate cu succes.

>> ACTUALIZARE date.carte SET Autor = 'Cristian Steward' WHERE Nume = 'Acasă';

Văzând tabelul actualizat, avem o valoare modificată a autorului în care „nume” este „Acasă”.

>> SELECT * DIN date.carte;

Să folosim comanda ROLLBACK pentru a reveni la modificări prin simpla adăugare a interogării de mai jos. Puteți vedea că interogarea ROLLBACK nu funcționează aici, deoarece arată că „0 rânduri afectate”.

>> ROLLBACK;

Puteți vedea chiar și masa. Tabelul nu a primit modificări după executarea instrucțiunii ROLLBACK până acum. Aceasta înseamnă că ROLLBACK-ul nu funcționează când avem AUTOCOMMIT activat în mod implicit.

>> SELECT * DIN date.carte;

Exemplul 02: Mod de comitere automată dezactivat:

Pentru a reveni la modificările efectuate, să încercăm cu modul AUTOCOMMIT oprit. Folosind același exemplu de tabel „carte”, vom efectua câteva modificări asupra acesteia. Vom folosi declarația START TRANSACTION pentru a dezactiva faza de auto-commit sau pur și simplu tastați comanda de mai jos pentru a dezactiva AUTOCOMMIT.

>> SET AUTOCOMMIT = 0;

Să presupunem că avem aceeași tabelă „carte” în baza noastră de date și trebuie să facem modificări la aceasta. Apoi readuceți aceste modificări la cele vechi.

>> SELECT * DIN date.carte;

Dacă nu ați dezactivat modul AUTOCOMMIT, atunci începeți cu o interogare START TRANSACTION în shell-ul liniei de comandă ca mai jos.

>> ÎNCEPE TRANZACȚIA;

Vom actualiza același tabel folosind comanda UPDATE setând „Autor” ca „Aliana” unde „Numele” unei cărți este „Vis”. Faceți acest lucru utilizând comanda de mai jos. Veți vedea că modificările vor fi făcute cu succes și eficient.

>> ACTUALIZARE date.carte SET Autho = 'Aliana' WHERE Nume = 'Vis';

Să verificăm dacă interogarea de mai sus a funcționat perfect și a făcut sau nu modificări în tabel. Puteți verifica tabelul actualizat utilizând comanda de mai jos SELECT, ca întotdeauna.

>> SELECT * DIN date.carte;

Puteți vedea că interogarea a funcționat excelent, așa cum se arată mai jos.

Acum, este rândul comenzii ROLLBACK să-și îndeplinească funcția. Încercați comanda ROLLBACK în linia de comandă pentru a reveni la actualizarea recentă în tabel.

>> ROLLBACK;

Să verificăm dacă interogarea ROLLBACK a funcționat așa cum ar trebui să funcționeze sau nu. Pentru aceasta, trebuie să verificați din nou tabelul „carte” folosind comanda „SELECT” ca întotdeauna.

>> SELECT * DIN date.carte;

Puteți vedea din rezultatul de mai jos că ROLLBACK a funcționat în cele din urmă. A revenit la modificările făcute prin interogarea UPDATE pe acest tabel.

Concluzie:

Asta este tot pentru tranzacțiile MySQL. Sper că acest ghid vă va ajuta să efectuați tranzacțiile MySQL în mod convenabil.

Cum se afișează suprapunerea OSD în aplicații și jocuri Linux pe ecran complet
Jucarea jocurilor pe ecran complet sau utilizarea aplicațiilor în modul ecran complet fără distragere vă poate elimina din informațiile relevante ale ...
Top 5 cărți de captură a jocului
Cu toții am văzut și ne-au plăcut jocurile de streaming pe YouTube. PewDiePie, Jakesepticye și Markiplier sunt doar câțiva dintre cei mai buni jucător...
Cum să dezvolți un joc pe Linux
Acum un deceniu, nu mulți utilizatori de Linux ar fi prezis că sistemul lor de operare preferat va fi într-o zi o platformă populară de jocuri pentru ...