MySQL MariaDB

Transakcie MySQL

Transakcie MySQL
Transakcia je súbežná zbierka funkcií na manipuláciu s množinami údajov a vykonáva sa, akoby išlo o jednu pracovnú jednotku. Inými slovami, transakciu nie je možné nikdy uskutočniť, kým nie je každý konkrétny proces vo vnútri jednotky úspešný. Celý proces sa zrúti, ak dôjde k zlyhaniu akejkoľvek transakcie v procese. Niekoľko dotazov SQL je zhromaždených do jednotky a všetky sa vykonajú spoločne ako súčasť jeho transakcie. Kedykoľvek transakcia obsahuje niekoľko aktualizácií databázy a transakcia je potvrdená, všetky úpravy fungujú alebo sa všetky aktualizácie stornujú, kedykoľvek sa operácia vráti späť.

Vlastnosti transakcie

Transakcie, často známe pod pojmom KYSELINA, majú štyri hlavné všeobecné vlastnosti.

Pracovné transakcie MySQL:

V rámci MySQL sa tieto dva pojmy, Commit a Rollback, primárne používajú iba pre MySQL transakcie. Transakcie sa začínajú iba deklaráciou ZAČÍNAME a končia sa deklaráciou COMMIT alebo ROLLBACK. Inštrukcie SQL tvoria väčšinu transakcie medzi začiatočnými aj zastavovacími príkazmi. Takéto série udalostí sú bez ohľadu na použitý konkrétny programovací jazyk. Vytvoríte vhodnú cestu v akomkoľvek jazyku, ktorý používate na zostavenie aplikácie. Nasledujúce príkazy SQL je možné implementovať pomocou funkcie mysql query ().

Príklad 01: Zapnutý režim AutoCommit:

MySQL pracuje s fázou Autocommit, ktorá je predvolene povolená. Zaisťuje, že MySQL ukladá zmeny na disku a vytvára ich neustále, pokiaľ spustíme dotaz, ktorý upraví (zmení) tabuľku. Nie je potrebné ťah vrátiť späť. Skúsme to s režimom AUTOCOMMIT. Otvorte shell príkazového riadku MySQL a na začiatok zadajte svoje heslo.

Vezmite si príklad tabuľky „knihy“, ktorá bola vytvorená v databáze „data“. Momentálne sme na ňu zatiaľ nevykonali žiadny dotaz.

>> SELECT * FROM data.kniha;

Krok 2: Týmto procesom je aktualizácia tabuľky „kniha“. Aktualizujme hodnotu stĺpca „Autor“, kde je „Názov“ knihy „Domov“. Môžete vidieť, že zmeny boli úspešne vykonané.

>> AKTUALIZÁCIA údajov.kniha SET Autor = 'Cristian Steward' KDE Meno = 'Domov';

Pohľadom na aktualizovanú tabuľku máme upravenú hodnotu autora, kde „meno“ je „domov“.

>> SELECT * FROM data.kniha;

Pomocou príkazu ROLLBACK vrátime zmeny jednoduchým pridaním nižšie uvedeného dotazu. Môžete vidieť, že dotaz ROLLBACK tu nefunguje, pretože ukazuje, že „ovplyvnené 0 riadkov“.

>> ROLLBACK;

Dokonca vidíte aj tabuľku. Tabuľka nemá po vykonaní príkazu ROLLBACK zatiaľ žiadne zmeny. To znamená, že ROLLBACK nefunguje, keď máme predvolene zapnutý AUTOCOMMIT.

>> SELECT * FROM data.kniha;

Príklad 02: Režim AutoCommit vypnutý:

Ak chcete vrátiť vykonané zmeny späť, skúsme vypnúť režim AUTOCOMMIT. Na rovnakom príklade tabuľky „kniha“ v nej urobíme niekoľko zmien. Deklaráciu START TRANSACTION použijeme na deaktiváciu fázy automatického potvrdenia alebo jednoducho zadáme nasledujúci príkaz na vypnutie AUTOCOMMITU.

>> SET AUTOCOMMIT = 0;

Povedzme, že máme v databáze tú istú „knihu“ tabuľky a musíme v nej urobiť zmeny. Potom tieto zmeny vráťte späť k starým.

>> SELECT * FROM data.kniha;

Ak ste nevypli režim AUTOCOMMIT, začnite dotazom START TRANSACTION v prostredí príkazového riadku, ako je uvedené nižšie.

>> ZAČAŤ TRANSAKCIU;

Rovnakú tabuľku budeme aktualizovať pomocou príkazu UPDATE tak, že nastavíme „Autor“ na „Aliana“, kde „Názov“ knihy bude „Sen“. Urobte to pomocou nižšie uvedeného príkazu. Uvidíte, že zmeny sa uskutočnia úspešne a efektívne.

>> AKTUALIZÁCIA údajov.kniha SET Autho = 'Aliana' KDE Meno = 'Sen';

Poďme skontrolovať, či vyššie uvedený dotaz fungoval perfektne a vykonal zmeny v tabuľke alebo nie. Aktualizovanú tabuľku môžete skontrolovať ako vždy pomocou nižšie uvedeného príkazu SELECT.

>> SELECT * FROM data.kniha;

Ako je uvedené nižšie, môžete vidieť, že dopyt fungoval skvele.

Teraz je rad na príkaze ROLLBACK, aby vykonal svoju funkciu. Vyskúšajte príkaz ROLLBACK v príkazovom riadku, ktorý vám umožní vrátiť poslednú aktualizáciu späť do tabuľky.

>> ROLLBACK;

Poďme skontrolovať, či bol dotaz ROLLBACK spracovaný tak, ako má, alebo nie. Z tohto dôvodu musíte znova skontrolovať tabuľku „rezervovať“ pomocou príkazu „VYBRAŤ“ ako vždy.

>> SELECT * FROM data.kniha;

Z nižšie uvedeného výstupu môžete vidieť, že ROLLBACK konečne fungoval. Vrátilo zmeny vykonané dotazom UPDATE v tejto tabuľke.

Záver:

To je všetko pre transakcie MySQL. Dúfam, že vám tento sprievodca pomôže pohodlne vykonávať transakcie MySQL.

Hry Najlepšie hry na hranie s ručným sledovaním
Najlepšie hry na hranie s ručným sledovaním
Oculus Quest nedávno predstavil skvelú myšlienku ručného sledovania bez ovládačov. Vďaka stále sa zvyšujúcemu počtu hier a aktivít, ktoré vykonávajú p...
Hry Ako zobraziť prekrytie OSD v linuxových aplikáciách a hrách na celú obrazovku
Ako zobraziť prekrytie OSD v linuxových aplikáciách a hrách na celú obrazovku
Hranie hier na celú obrazovku alebo používanie aplikácií v režime rozptýlenia zadarmo na celú obrazovku vás môže odrezať od relevantných systémových i...
Hry Top 5 kariet na zachytávanie hier
Top 5 kariet na zachytávanie hier
Všetci sme videli a milovali streamovanie hier na YouTube. PewDiePie, Jakesepticye a Markiplier sú iba niektorí z najlepších hráčov, ktorí zarobili mi...