MySQL MariaDB

Transaksi MySQL

Transaksi MySQL
Urus niaga adalah kumpulan fungsi serentak untuk memanipulasi set data dan dijalankan seolah-olah ia adalah satu kesatuan kerja. Dengan kata lain, transaksi tidak akan dapat dilakukan sehingga setiap proses tertentu berjaya di dalam unit. Seluruh proses akan runtuh jika ada transaksi di dalam proses yang rosak. Beberapa pertanyaan SQL digabungkan menjadi satu unit, dan semuanya akan dilaksanakan bersama sebagai sebahagian dari transaksi. Setiap kali transaksi memasukkan beberapa kemas kini ke pangkalan data, dan transaksi dilakukan, semua pengubahsuaian berfungsi, atau semua pembaruan akan terbalik setiap kali operasi digulung kembali.

Harta Transaksi

Transaksi, yang sering dikenali dengan istilah ACID, mempunyai empat sifat umum utama.

Transaksi MySQL Berfungsi:

Dalam MySQL, dua istilah, Komit dan Rollback digunakan hanya untuk transaksi MySQL. Urus niaga bermula hanya dengan pernyataan BEGIN WORK dan selesai sama ada dengan deklarasi KOMIT atau deklarasi ROLLBACK. Arahan SQL merangkumi sebahagian besar urus niaga di antara penyataan permulaan dan penghentian. Siri acara seperti itu tidak kira bahasa pengaturcaraan tertentu yang digunakan. Anda akan membuat jalan yang sesuai dalam bahasa apa pun yang anda gunakan untuk membina aplikasi. Penyataan SQL di bawah ini dapat dilaksanakan dengan menggunakan ciri pertanyaan mysql ().

Contoh 01: Mod AutoCommit Hidup:

MySQL beroperasi dengan fasa Autocommit yang dibenarkan secara lalai. Ini memastikan bahawa MySQL menyimpan perubahan pada cakera untuk membuatnya terus-menerus selagi kita menjalankan pertanyaan yang menyesuaikan (mengubah) jadual. Tidak perlu untuk membalikkan langkah. Mari cuba dengan mod AUTOCOMMIT. Buka shell baris perintah MySQL anda dan ketik kata laluan anda untuk memulakan.

Ambil contoh jadual 'buku' yang telah dibuat dalam 'data' pangkalan data. Buat masa ini, kami belum melakukan sebarang pertanyaan.

>> PILIH * DARI data.buku;

Langkah 2: Proses ini adalah untuk mengemas kini jadual 'buku'. Mari kita kemas kini nilai lajur 'Pengarang' di mana 'Nama' buku adalah 'Rumah'. Anda dapat melihat perubahan telah berjaya dilakukan.

>> KEMASKINI data.tempah SET Pengarang = 'Cristian Steward' DI MANA Nama = 'Rumah';

Dengan melihat sekilas jadual yang dikemas kini, kita mempunyai nilai pengarang yang diubah suai di mana 'name' adalah 'Home'.

>> PILIH * DARI data.buku;

Mari gunakan arahan ROLLBACK untuk mengembalikan perubahan dengan hanya menambah pertanyaan di bawah. Anda dapat melihat bahawa pertanyaan ROLLBACK tidak berfungsi di sini kerana ia menunjukkan bahawa '0 baris terjejas'.

>> ROLLBACK;

Anda juga boleh melihat jadualnya. Jadual tidak mendapat perubahan selepas pelaksanaan penyataan ROLLBACK setakat ini. Ini bermaksud bahawa ROLLBACK tidak berfungsi apabila kita mempunyai AUTOCOMMIT secara lalai.

>> PILIH * DARI data.buku;

Contoh 02: Mod AutoCommit Mati:

Untuk mengembalikan perubahan yang dibuat, mari cuba dengan mod mati AUTOCOMMIT. Dengan menggunakan contoh jadual 'buku' yang sama, kami akan melakukan beberapa perubahan padanya. Kami akan menggunakan deklarasi MULA TRANSAKSI untuk menyahaktifkan fasa auto-komit atau hanya menaip perintah di bawah ini untuk mematikan AUTOCOMMIT.

>> SET AUTOCOMMIT = 0;

Katakan kita mempunyai 'buku' jadual yang sama dalam pangkalan data kita, dan kita harus membuat perubahan padanya. Kemudian kembalikan perubahan tersebut kepada yang lama lagi.

>> PILIH * DARI data.buku;

Sekiranya anda belum mematikan mod AUTOCOMMIT, mulailah dengan pertanyaan MULAI TRANSAKSI di shell baris perintah seperti di bawah.

>> MULAKAN TRANSAKSI;

Kami akan mengemas kini jadual yang sama menggunakan arahan UPDATE dengan menetapkan 'Pengarang' sebagai 'Aliana' di mana 'Nama' sebuah buku adalah 'Mimpi'. Lakukan dengan menggunakan arahan di bawah. Anda akan melihat bahawa perubahan akan dibuat dengan berjaya dan berkesan.

>> KEMASKINI data.tempah SET Autho = 'Aliana' DI MANA Nama = 'Mimpi';

Mari kita periksa sama ada pertanyaan di atas telah berfungsi dengan sempurna dan membuat perubahan pada jadual atau tidak. Anda boleh memeriksa jadual yang dikemas kini dengan menggunakan perintah SELECT di bawah seperti biasa.

>> PILIH * DARI data.buku;

Anda dapat melihat bahawa pertanyaan telah berfungsi dengan baik, seperti yang ditunjukkan di bawah.

Sekarang, giliran perintah ROLLBACK untuk menjalankan fungsinya. Cuba arahan ROLLBACK di baris arahan anda untuk mengembalikan kemas kini baru-baru ini ke jadual.

>> ROLLBACK;

Mari kita periksa sama ada pertanyaan ROLLBACK telah berfungsi sebagaimana mestinya berfungsi atau tidak. Untuk ini, anda harus memeriksa jadual 'buku' sekali lagi dengan menggunakan perintah 'SELECT' seperti biasa.

>> PILIH * DARI data.buku;

Anda dapat melihat dari output di bawah bahawa ROLLBACK akhirnya berjaya. Telah mengembalikan perubahan yang dibuat oleh pertanyaan UPDATE pada jadual ini.

Kesimpulan:

Itu sahaja untuk transaksi MySQL. Saya harap panduan ini dapat membantu anda melakukan transaksi MySQL dengan mudah.

OpenTTD vs Simutrans
Membuat simulasi pengangkutan anda sendiri boleh menyeronokkan, santai dan sangat menarik. Itulah sebabnya anda perlu memastikan bahawa anda mencuba s...
Tutorial OpenTTD
OpenTTD adalah salah satu permainan simulasi perniagaan yang paling popular di luar sana. Dalam permainan ini, anda perlu membuat perniagaan pengangku...
SuperTuxKart untuk Linux
SuperTuxKart adalah tajuk hebat yang direka untuk membawa anda pengalaman Mario Kart secara percuma pada sistem Linux anda. Ia cukup mencabar dan meny...