MySQL MariaDB

MySQL tranzakciók

MySQL tranzakciók
A tranzakció egyidejű funkciógyűjtemény az adatkészletek manipulálására, és úgy valósul meg, mintha egyetlen munkaegység lenne. Más szóval, egy tranzakció soha nem hajtható végre, amíg az egyes folyamatok nem sikeresek az egységen belül. Az egész folyamat összeomlik, ha a folyamaton belül bármely tranzakció összeomlik. Számos SQL lekérdezés csoportosul egységbe, és mindegyiket együtt hajtják végre a tranzakció részeként. Amikor egy tranzakció több frissítést tartalmaz egy adatbázisba, és a tranzakció végrehajtásra kerül, az összes módosítás működik, vagy az összes frissítés megfordul, amikor a műveletet visszagörgetik.

Tranzakció tulajdonságai

Tranzakciók, gyakran ismertek a kifejezéssel SAV, négy fő általános tulajdonsággal rendelkezik.

A MySQL tranzakciók működése:

A MySQL-en belül a két kifejezés, a Commit és a Rollback elsősorban csak a MySQL tranzakciókhoz használatos. A tranzakciók csak a BEGIN WORK nyilatkozattal kezdődnek, és vagy COMMIT, vagy ROLLBACK nyilatkozattal fejeződnek be. Az SQL utasítások tartalmazzák a tranzakció nagy részét mind a kezdő, mind a leállító utasítások között. Az ilyen eseménysorok a használt programozási nyelvtől függetlenek. Megtalál egy megfelelő utat, bármilyen nyelven is használja az alkalmazás felépítését. Az alábbi SQL utasítások a mysql query () szolgáltatás segítségével valósíthatók meg.

01. példa: AutoCommit mód be:

A MySQL alapértelmezés szerint engedélyezett Autocommit fázissal működik. Biztosítja, hogy a MySQL elmentse a változtatásokat a lemezen, hogy állandóan létrehozhassa őket, mindaddig, amíg egy táblázatot módosító (módosító) lekérdezést futtatunk. Nem szükséges visszafordítani a lépést. Próbáljuk meg az AUTOCOMMIT on módban. Nyissa meg a MySQL parancssori héját, és a kezdéshez írja be a jelszavát.

Vegyünk egy példát egy "könyv" táblára, amelyet egy adatbázis "adat" -ben hoztak létre. Jelenleg még nem hajtottunk végre rajta lekérdezést.

>> SELECT * FROM adatok.könyv;

2. lépés: Ez a folyamat a "book" tábla frissítésére szolgál. Frissítsük a „Szerző” oszlop értékét, ahol a könyv neve „Főoldal”. Láthatja, hogy a változtatásokat sikeresen végrehajtották.

>> UPDATE adatok.könyv SET Szerző = 'Cristian Steward' WHERE Név = 'Otthon';

A frissített táblázat bepillantásával módosított értéket kapunk a szerzőről, ahol a "név" "Otthon".

>> SELECT * FROM adatok.könyv;

Használjuk a ROLLBACK parancsot a változtatások visszaállításához az alábbi lekérdezés egyszerű hozzáadásával. Láthatja, hogy a ROLLBACK lekérdezés itt nem működik, mivel azt mutatja, hogy '0 sor érintett'.

>> ROLLBACK;

Még az asztalt is láthatja. A táblázat a ROLLBACK utasítás eddigi végrehajtása után nem változott. Ez azt jelenti, hogy a ROLLBACK nem működik, ha alapértelmezés szerint be van kapcsolva az AUTOCOMMIT.

>> SELECT * FROM adatok.könyv;

02. példa: AutoCommit mód ki:

A végrehajtott változtatások visszaállításához próbáljuk meg az AUTOCOMMIT kikapcsolt módot. A „book” táblázat ugyanazon példáján keresztül végrehajtunk néhány változtatást rajta. A TRANZAKCIÓ INDÍTÁSA deklarációval kikapcsoljuk az automatikus véglegesítési fázist, vagy egyszerűen írja be az alábbi parancsot az AUTOCOMMIT kikapcsolásához.

>> AUTOCOMMIT BEÁLLÍTÁSA = 0;

Tegyük fel, hogy adatbázisunkban ugyanaz a „könyv” tábla van, és változtatnunk kell rajta. Ezután állítsa vissza ezeket a változásokat a régiekre.

>> SELECT * FROM adatok.könyv;

Ha még nem kapcsolta ki az AUTOCOMMIT módot, akkor kezdje el a TRANZAKCIÓ INDÍTÁSA lekérdezést a parancssori shellben az alábbiak szerint.

>> TRANZAKCIÓ INDÍTÁSA;

Frissíteni fogjuk ugyanazt a táblázatot az UPDATE paranccsal azáltal, hogy az „Author” beállítást „Aliana” -nak állítjuk be, ahol a könyv neve „Dream”. Tegye meg az alábbi paranccsal. Látni fogja, hogy a változtatásokat sikeresen és hatékonyan hajtják végre.

>> UPDATE adatok.könyv SET Autho = 'Aliana' WHERE név = 'Álom';

Ellenőrizzük, hogy a fenti lekérdezés tökéletesen működött-e és módosította-e a táblázatot. A frissített táblázatot az alábbi SELECT paranccsal ellenőrizheti, mint mindig.

>> SELECT * FROM adatok.könyv;

Láthatja, hogy a lekérdezés kiválóan működött, amint az alább látható.

Most a ROLLBACK parancson van a feladat végrehajtása. Próbálja meg a parancssorban található ROLLBACK parancsot a táblázat legújabb frissítésének visszagörgetéséhez.

>> ROLLBACK;

Ellenőrizzük, hogy a ROLLBACK lekérdezés megfelelően működött-e vagy sem. Ehhez újra ellenőriznie kell a "könyv" táblázatot a "SELECT" paranccsal, mint mindig.

>> SELECT * FROM adatok.könyv;

Az alábbi kimenetből láthatja, hogy a ROLLBACK végre működött. Visszaállította az UPDATE lekérdezés által a táblázatban végrehajtott módosításokat.

Következtetés:

Ez minden a MySQL tranzakcióknál. Remélem, hogy ez az útmutató segít a MySQL tranzakciók kényelmes végrehajtásában.

OpenTTD bemutató
Az OpenTTD az egyik legnépszerűbb üzleti szimulációs játék. Ebben a játékban létre kell hoznia egy csodálatos szállítási vállalkozást. Azonban kezdete...
SuperTuxKart Linuxhoz
A SuperTuxKart egy nagyszerű cím, amelynek célja, hogy ingyenesen hozza el a Mario Kart élményét Linux rendszerén. Elég kihívást jelentő és szórakozta...
Csata a Wesnoth bemutatóért
A Battle for Wesnoth az egyik legnépszerűbb nyílt forráskódú stratégiai játék, amelyet jelenleg játszhatsz. Ez a játék nem csak nagyon hosszú ideje fe...