Transaction Control Language (TCL) adalah perintah SQL yang berhubungan dengan transaksi di database
Perintah TCL antara lain
COMMIT -> Menyimpan transaksi secara permanen ROLLBACK -> Mengembalikan database ke bentuk awal / COMMIT terakhir
#1 Perintah COMMIT
Perintah COMMIT digunakan untuk menyimpan transaksi secara permanen di database
Saat melakukan perintah DML seperti INSERT, UPDATE, DELETE traksaksi sebenarnya belum dilakukan secara permanen. Artinya operasi tersebut masih bisa di rollback / di batalkan
Jika ingin menyimpan transaksi sehingga tidak dapat di rollback kita gunakan perintah COMMIT
Kapan perintah COMMIT dibutuhkan?
Dalam suatu rangkaian operasi data, jika ada 1 atau lebih operasi yang mengalami kegagalan maka kita akan mengembalikan seperti ke bentuk semula. Jika tidak ada kesalahan maka seluruh rangkaian pernyataan akan di – COMMIT untuk menyimpan transaksi secara permanen
Gunakan Database universitas dan Table mahasiswa yang telah kita buat di materi DDL
INSERT INTO mahasiswa VALUES (21400200,"faqih","bandung"), (21400201,"ina","jakarta"), (21400202,"anto","semarang"), (21400203,"dani","padang");
Selanjutnya kita cek data yang telah diinputkan
> SELECT * FROM mahasiswa; +----------+-------+----------+ | nim | nama | alamat | +----------+-------+----------+ | 21400200 | faqih | bandung | | 21400201 | ina | jakarta | | 21400202 | anto | semarang | | 21400203 | dani | padang | +----------+-------+----------+ 4 rows in set (0.00 sec)
Untuk memulai menggunakan COMMIT harus dimulai dengan
START TRANSACTION;
> START TRANSACTION; Query OK, 0 rows affected (0.00 sec) > INSERT INTO mahasiswa VALUES (21400210,"Jaka","Kalimantan"); Query OK, 1 row affected (0.00 sec) > COMMIT; Query OK, 0 rows affected (0.07 sec) > SELECT * FROM mahasiswa; +----------+-------+------------+ | nim | nama | alamat | +----------+-------+------------+ | 21400200 | faqih | bandung | | 21400201 | ina | jakarta | | 21400202 | anto | semarang | | 21400203 | dani | padang | | 21400210 | Jaka | Kalimantan | +----------+-------+------------+ 5 rows in set (0.00 sec)
#2 Perintah ROLLBACK
Perintah ROLLBACK digunakan untuk mengembalikan database ke bentuk awal / COMMIT terakhir
Perintah COMMIT dan ROLLBACK saling berkaitan
Kapan perintah ROLLBACK dibutuhkan?
Dalam suatu rangkaian operasi data, jika ada 1 atau lebih operasi yang mengalami kegagalan maka kita akan mengembalikan seperti ke bentuk semula menggunakan perintah ROLLBACK
Untuk menggunakan COMMIT / ROLLBACK harus dimulai dengan
START TRANSACTION;
> START TRANSACTION; Query OK, 0 rows affected (0.00 sec) > SELECT * FROM mahasiswa; +----------+-------+------------+ | nim | nama | alamat | +----------+-------+------------+ | 21400200 | faqih | bandung | | 21400201 | ina | jakarta | | 21400202 | anto | semarang | | 21400203 | dani | padang | | 21400210 | Jaka | Kalimantan | +----------+-------+------------+ 5 rows in set (0.00 sec) > INSERT INTO mahasiswa VALUES (21400211,"Fitri","Surabaya"); Query OK, 1 row affected (0.00 sec) > SELECT * FROM mahasiswa; +----------+-------+------------+ | nim | nama | alamat | +----------+-------+------------+ | 21400200 | faqih | bandung | | 21400201 | ina | jakarta | | 21400202 | anto | semarang | | 21400203 | dani | padang | | 21400210 | Jaka | Kalimantan | | 21400211 | Fitri | Surabaya | +----------+-------+------------+ 6 rows in set (0.00 sec) > ROLLBACK; Query OK, 0 rows affected (0.11 sec) > SELECT * FROM mahasiswa; +----------+-------+------------+ | nim | nama | alamat | +----------+-------+------------+ | 21400200 | faqih | bandung | | 21400201 | ina | jakarta | | 21400202 | anto | semarang | | 21400203 | dani | padang | | 21400210 | Jaka | Kalimantan | +----------+-------+------------+ 5 rows in set (0.00 sec)
Saat kita gunakan perintah ROLLBACK akan kembali ke database awal
Materi MySQL dibagi menjadi beberapa artikel:
Cara Install XAMPP di Windows dan Linux
Belajar MySQL Dasar : Tutorial MySQL untuk Pemula
Belajar MySQL Dasar : Memahami perintah DDL
Belajar MySQL Dasar : Memahami perintah DML
Belajar MySQL Dasar : Memahami perintah DQL
Belajar MySQL Dasar : Memahami perintah DCL
Belajar MySQL Dasar : Memahami perintah TCL
Belajar MySQL Lanjut : Cara Menggunakan JOIN
Belajar MySQL Lanjut : Cara Membuat Stored Procedure
Belajar MySQL Lanjut : Cara Membuat VIEW
Belajar MySQL Lanjut : Cara Membuat TRIGGER
Belajar MySQL Lanjut : DDL MySQL dengan Python
Belajar MySQL Lanjut : DML MySQL dengan Python
Belajar MySQL Lanjut : DQL MySQL dengan Python
terima kasih
Thnkyu ganteng