13 MySQL - Perbedaan DELETE dan TRUNCATE

 


Perintah delete dan truncate sebenarnya sama-sama digunakan untuk melakukan penghapusan data yang ada dalam tabel, namun delete dan truncate memiliki perbedaan, antara lain sebagai berikut.


Baca Juga: Data Manipulation Language


1)    TRUNCATE

Truncate menghapus tuntas seluruh record dari sebuah tabel tanpa menggunakan kondisi, jadi saat menggunakan perintah truncate tidak akan ada batasan untuk menghapus bebrapa data yang ada.


Truncate melakukan Reset Identity pada sebuah tabel, ketika memasukan data baru jika ada sebuah kolom yang auto_increment, maka penomoran data akan diulang lagi dari awal atau dari nomor 1. 


Truncate termasuk dalam sintak DDL, tetapi truncate tidak bisa merubah struktur data dalam tabel, truncate hanya menghapus nilai yang ada dalam sebuah tabel. Perintah truncate dapat dijalankan dengan sintak TRUNCATE TABLE [nama_tabel];.


TRUNCATE
Truncate


Gambar Truncate merupakan bukti jika sintak Truncate tersebut tidak melanjutkan penomoran pada data tersbut, jadi Truncate mengosongkan tabel dan tidak menyimpan data log atau history darit tabel tersebut.


Truncate digunakan ketika membuat sebuah database yang tidak menyimpan data sebelumnya, atau saat mereset sebuah penomoran dalam database sehingga mendapatkan data penomoran baru yang dimulai dari awal.


Baca Juga: Refrential Integrity Constraint


2)    DELETE

Delete akan menghapus record dengan menggunakan kondisi. Delete juga dapat digunakan tanpa menggunakan konidisi, yang dimana hasilnya akan menghapus semua data pada sebuah tabel. 

 

Berbeda dengan Truncate, Delete tidak akan melakukan Reset Identity pada sebuah tabel. Saat memasukan data baru dengan perintah Delete, jika ada data yang dalam posisi auto_increment maka penomoran yang dilakukan akan berlanjut dan tidak berulang dari awal. 

 

Perintah Delete dikelompokan dalam Data Manipulation Language. Perintah Delete dapat dijalankan dengan sintak DELETE FROM [nama_tabel] WHERE [kondisi];.


Delete
Delete


Gambar Delete merupakan bukti jika sintak Delete tersebut yang mengosongkan isi tabel dan melanjutkan penomoran. 

 

Delete dapat digunakan ketika membuat sebuah database yang menyimpan data history dari penomoran  data tersebut. 

 

Misalnya dalam sebuah toko, database yang mereka miliki membludak dalam satu hari maka mereka melakukan backup data dan men-delete data yang ada dalam database, sehingga salam sehari tersebut mereka masih bisa melanjukan penomoran untuk pembeli.



Tutorial MySQL lainnya

Komentar

Postingan Populer