MySQL MariaDB

MySQL-i tehingud

MySQL-i tehingud
Tehing on andmekogumitega manipuleerimise funktsioonide samaaegne kogumine ja see viiakse läbi nii, nagu oleks tegemist ühe tööüksusega. Teisisõnu, tehingut ei saa kunagi teha enne, kui iga konkreetne protsess on üksuse sees edukas. Kui mõni protsessisisene tehing kokku kukub, variseb kokku kogu protsess. Mitmed SQL-päringud on koondatud ühikuks ja kõik need täidetakse koos osana selle tehingust. Kui tehing sisaldab mitut andmebaasi värskendust ja tehing on sooritatud, toimivad kõik muudatused või kõik värskendused tühistatakse alati, kui toiming tagasi pööratakse.

Tehingu atribuudid

Tehingud, sageli tuntud selle termini järgi HAPE, on neli peamist üldist omadust.

MySQL-i tehingud töötavad:

MySQL-is kasutatakse kahte mõistet Commit ja Rollback peamiselt ainult MySQL-i tehingute jaoks. Tehingud algavad ainult TÖÖ ALGAMISEGA ja lõpevad kas deklaratsiooniga COMMIT või ROLLBACK. SQL-i juhised moodustavad suurema osa tehingust nii algus- kui ka lõpetamislausete hulgas. Sellised sündmuste sarjad ei sõltu kasutatavast programmeerimiskeelest. Teete sobiva tee mis tahes keeles, mida rakenduse loomiseks kasutate. Allpool olevaid SQL-i lauseid saab rakendada funktsiooni mysql query () abil.

Näide 01: automaatse sidestuse režiim sees:

MySQL töötab vaikimisi lubatud automaatse sidestuse etapiga. See tagab, et MySQL salvestab muudatused kettale püsivaks loomiseks seni, kuni käivitame päringut, mis tabelit korrigeerib (muudab). Käiku pole vaja tagasi pöörata. Proovime režiimis AUTOCOMMIT sisse lülitada. Avage oma MySQL-i käsurea kest ja sisestage alustamiseks oma parool.

Võtke näide tabelist "raamat", mis on loodud andmebaasi "andmed". Praegu pole me sellele veel ühtegi päringut teinud.

>> SELECT * FROM andmetest.raamat;

2. samm: See protsess on tabeli "raamat" värskendamine. Värskendame veeru „Autor” väärtust, kus raamatu „Nimi” on „Kodu”. Näete, et muudatused on edukalt tehtud.

>> UUENDAGE andmeid.raamat SET Autor = 'Cristian Steward' WHERE nimi = 'Kodu';

Vaadates värskendatud tabelit, on meil autori muudetud väärtus, kus 'nimi' on 'kodu'.

>> SELECT * FROM andmetest.raamat;

Kasutame muudatuste tühistamiseks käsku ROLLBACK, lisades lihtsalt alloleva päringu. Näete, et ROLLBACK päring siin ei tööta, kuna see näitab, et "0 rida on mõjutatud".

>> ROLLBACK;

Näete isegi lauda. Pärast ROLLBACK-i käsu täitmist pole tabelis muudatusi tehtud. See tähendab, et ROLLBACK ei tööta, kui meil on AUTOCOMMIT vaikimisi sisse lülitatud.

>> SELECT * FROM andmetest.raamat;

Näide 02: automaatse ühenduse režiim on välja lülitatud:

Tehtud muudatuste tühistamiseks proovime režiimi AUTOCOMMIT välja lülitada. Kasutades tabeli 'book' sama näidet, teeme selles mõned muudatused. Kasutame deklaratsiooni START TRANSACTION selle automaatse kinnitamise faasi deaktiveerimiseks või sisestage AUTOCOMMIT välja lülitamiseks lihtsalt järgmine käsk.

>> MÄÄRA AUTOKOMMIT = 0;

Oletame, et meie andmebaasis on sama tabeli 'raamat' ja peame selles muudatusi tegema. Seejärel pöörake need muudatused uuesti vanade juurde.

>> SELECT * FROM andmetest.raamat;

Kui te pole režiimi AUTOCOMMIT välja lülitanud, alustage käsurea kestas päringuga START TRANSACTION (allpool).

>> KÄIVITA TEHINGUT;

Uuendame sama tabelit käsu UPDATE abil, määrates „Autor” väärtuseks „Aliana”, kus raamatu „Nimi” on „Unistus”. Tehke seda alloleva käsu abil. Näete, et muudatused tehakse edukalt ja tõhusalt.

>> UUENDAGE andmeid.raamat SET Autho = 'Aliana' WHERE nimi = 'unistus';

Kontrollime, kas ülaltoodud päring on ideaalselt töötanud ja tabelis muudatusi teinud või mitte. Uuendatud tabelit saate kontrollida, kasutades alati allpool olevat käsku SELECT.

>> SELECT * FROM andmetest.raamat;

Näete, et päring on suurepäraselt töötanud, nagu allpool näidatud.

Nüüd on käsk ROLLBACK oma funktsiooni täitmiseks. Värske tabeli värskenduse taastamiseks proovige oma käsureal käsku ROLLBACK.

>> ROLLBACK;

Kontrollime, kas ROLLBACK päring on töötatud nii, nagu peaks toimima või mitte. Selleks peate uuesti kontrollima tabelit 'book', kasutades käsku 'SELECT' nagu alati.

>> SELECT * FROM andmetest.raamat;

Allpool olevast väljundist näete, et ROLLBACK on lõpuks töötanud. See tühistas selles tabelis UPDATE päringu tehtud muudatused.

Järeldus:

See on kõik MySQL-i tehingute jaoks. Loodan, et see juhend aitab teil MySQL-i tehinguid mugavalt sooritada.

Installige Linuxile uusim Dolphin Emulator for Gamecube & Wii
Dolphini emulaator võimaldab teil mängida valitud Gamecube & Wii mänge Linuxi personaalarvutites (PC). Vabalt saadaval oleva ja avatud lähtekoodiga m...
Kuidas kasutada GameConquerori petumootorit Linuxis
Artikkel sisaldab juhendit GameConquerori petumootori kasutamise kohta Linuxis. Paljud kasutajad, kes mängivad Windowsis mänge, kasutavad rakendust „C...
Parimad Linuxi mängukonsooli emulaatorid
Selles artiklis loetletakse Linuxi jaoks saadaval olev populaarne mängukonsooli emuleerimise tarkvara. Emuleerimine on tarkvara ühilduvuse kiht, mis j...