logo

SQL OPERACIJOS

Operacijos sugrupuoja užduočių rinkinį į vieną vykdymo vienetą. Kiekviena operacija prasideda konkrečia užduotimi ir baigiasi sėkmingai atlikus visas užduotis grupėje. Jei kuri nors iš užduočių nepavyksta, operacija nepavyksta. Todėl sandoris turi tik du rezultatus: sėkmė arba nesėkmė .

150 USD pervedimo iš sąskaitos A į sąskaitą B pavyzdys:

1. read(A) 2. A:= A – 150 3. write(A) 4. read(B) 5. B:= B + 150 6. write(B)>

Neužbaigti veiksmai lemia sandorio nesėkmę. Duomenų bazės operacija pagal apibrėžimą turi būti atominė, nuosekli, izoliuota ir patvari.
Tai populiariai žinomi kaip RŪGŠTIS savybių. Šios savybės gali užtikrinti kelių operacijų vienu metu vykdymą be konfliktų.



Sandorio savybės

  • Atomiškumas: Sandorio rezultatas gali būti visiškai sėkmingas arba visiškai nesėkmingas. Visa operacija turi būti atšaukta, jei viena jo dalis nepavyksta.
  • Nuoseklumas: Sandoriai palaiko vientisumo apribojimus, perkeldami duomenų bazę iš vienos galiojančios būsenos į kitą.
  • Isolation: Vienu metu vykdomos operacijos yra izoliuotos viena nuo kitos, užtikrinant duomenų tikslumą.
  • Patvarumas: Įvykdžius operaciją, jos pakeitimai lieka galioti net ir sistemos gedimo atveju.

Kaip įdiegti operacijų valdymo komandą naudojant SQL?

Šios komandos naudojamos transakcijoms valdyti. Svarbu pažymėti, kad šių teiginių negalima naudoti kuriant lenteles ir jie naudojami tik su DML komandomis, pvz. ĮDĖTI , ATNAUJINTI , ir IŠTRINTI .

BEGIN TRANSACTION komanda

Tai nurodo aiškios arba vietinės operacijos pradžios tašką.

Sintaksė:

BEGIN TRANSACTION operacijos_pavadinimas ;

SET TRANSACTION komanda

Dabartinės operacijos ypatybių reikšmės, pvz., operacijos izoliacijos lygis ir prieigos režimas, nustatomos naudojant MySQL NUSTATYTI TRANSACTION pareiškimą.

Sintaksė:

NUSTATYTI SANDORIĄ [ SKAITYTI RAŠYTI | TIK SKAITYMUI ];

COMMIT komanda

Jei viskas tvarkoje su visais pareiškimais per vieną operaciją, visi pakeitimai įrašomi kartu į duomenų bazę, iškviečiama įsipareigojo . Komanda COMMIT išsaugo visas operacijas duomenų bazėje nuo paskutinės komandos COMMIT arba ROLLBACK.

Sintaksė:

ĮSIPAREIGOTI;

Pavyzdys:

1 lentelės pavyzdys

išvestis

išvestis

Toliau pateikiamas pavyzdys, kuris iš lentelės ištrins tuos įrašus, kurių amžius = 20, o tada PATIKO pakeitimus duomenų bazėje.

Užklausa

DELETE FROM Student WHERE AGE = 20; COMMIT;>

Išvestis

Taigi dvi lentelės eilutės būtų ištrintos ir SELECT sakinys atrodytų taip,

išvestis

išvestis

ROLLBACK komanda

Jei įvyksta kokia nors klaida naudojant bet kurį iš SQL sugrupuotų teiginių, visi pakeitimai turi būti nutraukti. Pakeitimų atkūrimo procesas vadinamas atšaukimas . Ši komanda gali būti naudojama tik atšaukti operacijas po paskutinės komandos COMMIT arba ROLLBACK.

ROLLBACK komandos sintaksė:

ROLLBACK;

Pavyzdys:

pd sujungti

Iš aukščiau pateikto pavyzdžio Lentelės pavyzdys 1 ,
Iš lentelės ištrinkite tuos įrašus, kurių amžius = 20, ir ATGALINTI duomenų bazės pakeitimus.

Užklausa

DELETE FROM Student WHERE AGE = 20; ROLLBACK;>

Išvestis

išvestis

išvestis

SAVEPOINT komanda

SAVEPOINT sukuria taškus operacijų grupėse, kuriose galima ATGALITI.
SAVEPOINT yra operacijos taškas, kuriame galite grąžinti operaciją į tam tikrą tašką neatšaukdami visos operacijos.

„Savepoint“ komandos sintaksė:

SAVEPOINT SAVEPOINT_NAME;

Ši komanda naudojama tik kuriant SAVEPOINT tarp visų operacijų.
Paprastai ROLLBACK naudojamas operacijų grupei anuliuoti.

Sintaksė, skirta grįžti į „Savepoint Command“:

GRĮŽTI Į SAVEPOINT_NAME;

bet kuriuo metu galite GRĮŽTI į bet kurį SAVEPOINT, kad grąžintumėte atitinkamus duomenis į pradinę būseną.

Pavyzdys:

Iš aukščiau pateikto pavyzdžio Lentelės pavyzdys 1 , Ištrinkite iš lentelės tuos įrašus, kurių amžius = 20, tada ATGALINKITE duomenų bazės pakeitimus, išsaugodami išsaugojimo taškus.

Užklausa

SAVEPOINT SP1; //Savepoint created. DELETE FROM Student WHERE AGE = 20; //deleted SAVEPOINT SP2; //Savepoint created.>

Čia SP1 yra pirmasis SAVEPOINT, sukurtas prieš ištrynimą. Šiame pavyzdyje įvyko vienas ištrynimas.
Ištrynus vėl sukuriamas SAVEPOINT SP2.

Išvestis

išvestis

išvestis

Ištrynimas buvo atliktas. Tarkime, kad persigalvojote ir nusprendėte GRĮŽTI į SAVEPOINT, kurį nurodėte kaip SP1, kuris yra prieš ištrynimą.
ištrynimas atšaukiamas šiuo pareiškimu.

Užklausa

ROLLBACK TO SP1; //Rollback completed>

Išvestis

išvestis

išvestis

RELEASE SAVEPOINT komandą

Ši komanda naudojama jūsų sukurtam SAVEPOINT pašalinti.

Sintaksė:

PALEISTI SAVEPOINT SAVEPOINT_NAME

Kai SAVEPOINT bus išleistas, nebegalėsite naudoti komandos ROLLBACK, kad anuliuotumėte operacijas, atliktas po paskutinio SAVEPOINT.
Jis naudojamas duomenų bazės operacijai inicijuoti ir sekančios operacijos charakteristikoms nurodyti.

Išvada

  • SQL sakiniai sugrupuojami naudojant operacijas.
  • Jie žada, kad arba visi pakeitimai bus padaryti, arba jų visai nebus.
  • Patikimumą užtikrina rūgštinės savybės – atomiškumas, konsistencija, izoliacija ir ilgaamžiškumas.
  • Pradėkite operaciją naudodami BEGIN TRANSACTION ir užbaikite naudodami COMMIT arba ROLLBACK, kad užbaigtumėte arba anuliuotumėte pakeitimus.