Cara menggunakan rollback database mysql

Cara menggunakan rollback database mysql

Structured Query Language (SQL) dalam Oracle terdiri dari Data Definition Language (DDL), Data Manipulation Language (DML), Data Control Language (DCL), Transaction Control dan query. 

DDL : create, alter, drop, truncate
DML : insert, update, delete
query : select
DCL : grant, revoke
Transaction Control : commit, rollback, savepoint

Commit, Rollback dan Save Point di Oracle adalah 3 contoh Query dari Transaction Control Language (TCL) yang umum digunakan oleh Oracle DBA Developer dalam memanage Database system. Berikut adalah contoth dasar dari ketiga perintah Commit, Save Point dan Rollback:

A. COMMIT

Setiap perubahan data yang terjadi selama transaksi adalah sementara. Untuk menjadikan permanen maka dengan cara menggunakan perintah COMMIT.

Keadaan Data Sebelum COMMIT atau ROLLBACK :

– Operasi manipulasi data dalam DML data terutama mempengaruhi database buffer, oleh sebab itu keadaan data sebelumnya dapat diperbaiki.

– User yang sedang connect (current user) dapat me-review hasil dari operasi manipulasi data dengan melakukan query terhadap table

– User lain tidak dapat melihat hasil dari operasi manipulasi data dari current user. Oracle memberlakukan read consistency untuk menjamin bahwa setiap user melihat data seperti yang ada pada saat commit terakhir.

– Baris-baris data yang sedang diubah akan dikunci (locked), user lain tidak dapat mengubah data yang sedang diubah tersebut.

Kita menggunakan COMMIT untuk membuat seluruh perubahan data menjadi permanen.

Hal-hal yang mengikuti COMMIT:

– Seluruh perubahan data ditulis ke database

– Keadaan data sebelumnya secara permanen hilang

– Seluruh user dapat melihat hasil dari transaksi

– Penguncian terhadap baris-baris data yang diubah akan dibebaskan, baris-baris data tersebut sekaran tersedia kembali bagi user lain untuk melakukan perubahan data berikutnya.

– Seluruh savepoints dihapus.

AUTO COMMIT ketika user logout.

Contoh:

Buat Tabel Dokter dan kemudian lakukan insert data. 

insert into dokter(kode_dokter,nama_dokter) values ('001','Rezki');
COMMIT;

B. SAVE POINT

Sebuah savepoint adalah perintah di dalam transaksi Oracle yang memungkinkan semua perintah yang dijalankan setelah dibuat untuk di Rollback pada titik transaksi tertentu.

insert into dokter(kode_dokter,nama_dokter) values ('001','Rezki');

Contoh:

savepoint insertRez;

C. ROLLBACK

Kita dapat membatalkan seluruh perubahan data DML yang masih menggantung dengan menggunakan statement ROLLBACK. Hal-hal yang mengikuti ROLLBACK:

– Seluruh perubahan data dibatalkan.

– Keadaan data sebelumnya dikembalikan seperti semula.

– Penguncian terhadap baris-baris data yang diubah akan dibebaskan, baris-baris data tersebut sekarang tersedia kembali bagi user lain untuk melakukan perubahan data berikutnya.

Contoh:

Ketika berusaha menghapus satu record pada table Dokter, secara tidak sengaja menghapus seluruh table. Betulkan kesalahan tersebut, lalu jalankan perintah yang sesuai, dan buatlah seluruh perubahan data menjadi permanen.

DELETE FROM dokter;
ROLLBACK;

Ketika ROLLBACK data akan dikembalikan setelah commit terakhir dilakukan.

DELETE FROM dokter WHERE kode_dokter = '001';
COMMIT;

Rollback to SavePoint Query. Dengan menggunakan Query berikut maka update query dibawah tidak akan tercatat di dalam transaksi.

DELETE FROM dokter;
ROLLBACK to insertRez;

Ketika ROLLBACK SavePoint data akan dikembalikan sesuai SavePoint.

DELETE FROM dokter WHERE kode_dokter = '001'; 
COMMIT;

Cara menggunakan rollback database mysql

Berbicara mengenai SQL (Structured Query Langueage) pasti ada hubungannya dengan MYSQL.Pada dasarnya MYSQL sendiri merupakan struktur database yang paling dipakai hampir semua orang untuk membuat database.Di mysql sendiri terdiri dari DDL, DML, TCL dan masih banyak lagi.Maka dari itu gw akan memberikan informasi dan pengertian serta tutorial mengenai dml, tcl, dan ddl.Berikut artikel nya.

Pengertian Dan Struktuk SQL , DDL, DML, DCL, TCL  

Structured Query Language (SQL) sendiri terdiri dari beberapa Data Definition Language (DDL), Data Manipulation Language (DML), Data Control Language (DCL), dan Transaction Control Language (TCL).

Commit, Rollback dan Save Point di PostgreSQL adalah 3 contoh dari Query dari Transaction Control Language (TCL) yang umum digunakan oleh DBA Developer dalam memanage Database system. Berikut adalah basic demonstrasi dari Commit, Rollback dan Save Point di PostgreSQL:

Cara menggunakan rollback database mysql

Dengan menggunakan COMMIT, kita dapat mengakhiri semua transaksi  dan menjadikannya sebagai perubahan permanen.

Commit

Cara menggunakan rollback database mysql

Dengan menggunakan ROLLBACK, kita bisa melompat ke keadaan terakhir dari sebuah transaksi yang telah di-commit sehingga update query berikut tidak akan tercatat di dalam transaksi.

Rollback Query

Cara menggunakan rollback database mysql

Selain melompat ke commit terakhir dari sebuah transaction, Rollback juga dapat digunakan melompat ke suatu titik tertentu yang didefinisikan didalam Savepoint. Savepoint menetapkan savepoint baru dalam transaksi saat ini. Sebuah savepoint adalah tanda khusus di dalam transaksi yang memungkinkan semua perintah yang dijalankan setelah dibuat untuk di Rollback, mengembalikan status transaksi ke keadaan pada saat savepoint. Savepoint hanya bisa terbentuk saat berada di dalam blok transaksi. Ada beberapa savepoint yang dapat didefinisikan di dalam transaksi.

SavePoint Query

Cara menggunakan rollback database mysql
 

Rollback to SavePoint Query. Dengan menggunakan Query berikut maka update query dibawah tidak akan tercatat di dalam transaksi.

Cara menggunakan rollback database mysql
 

Berikut adalah hasil akhir isi dari table Pegawai dimana kolom empid 2 dan 5 tidak terupdate karena Query Rollback.

Cara menggunakan rollback database mysql
 

Demikianlah tutorial dan informasi serta contoh-contoh basic demonstrasi dari Commit, Rollback dan Save Point di PostgreSQL.Sekian informasi dari gw mengenai Cara Menerapkan CommitRollback Dan Savepoint Di MYSQL, semoga bermanfaat.

Apa itu perintah rollback?

Dengan menggunakan ROLLBACK, kita bisa melompat ke keadaan terakhir dari sebuah transaksi yang telah di-commit sehingga update query berikut tidak akan tercatat di dalam transaksi.

Apa itu TCL dalam database?

TCL (Transaction Control Language) adalah pernyataan yang digunakan untuk mengelola perubahan yang dilakukan oleh pernyataan DML, yang termasuk dalam perintah TCL adalah COMMIT, SAVEPOINT, ROLLBACK, SET TRANSAKSI.

Apa itu Index di mysql?

Index adalah sebuah objek dalam sistem database yang dapat mempercepat proses pencarian (query) data.

Apa saja perintah Tcl?

Transaction Control Language (TCL).
Commit..
Rollback..
Savepoint..
Concurrent..
Locking..