perbedaan TRUNCATE dan DELETE dan DROP

Misi gan perbedaan query TRUNCATE dan DELETE dan DROP apa yah??

dan saya juga jarang menggunakan TRUNCATE

avatar sukmaw
@sukmaw

340 Kontribusi 75 Poin

Diperbarui 5 tahun yang lalu

6 Jawaban:

Jawaban Terpilih

Coba jawab ya,

Kalo TRUNCATE buat ngosongin isi tabel, kalo DELETE buat hapus salah satu row (isi) tabel. Bedanya kalo ngosongin tabel dengan cara DELETE semua isinya, ketika tabel diinsert kembali primary key nya bakal dilajutin. Contoh ketika sebelum dikosongin ada 3 data, setelah dikosongin kemudian diinsert lagi primary key otomatis terisi angka 4. Karena biasanya primary key disetting auto increment dan ga perlu diisi waktu insert data (row). Beda dengan TRUNCATE yang bakal mulai dari 0 lagi.

Kalo DROP buat hapus tabelnya atau hapus salah satu atribut tabel tersebut contoh nama, alamat, dll.

CMIIW :)

avatar hendrapb
@hendrapb

18 Kontribusi 15 Poin

Dipost 7 tahun yang lalu

kalau kita mau ngosongin tabel dan tidak mau ada pengecekan foreign key gimana ?? pake TRUNCATE gan?

avatar sukmaw
@sukmaw

340 Kontribusi 75 Poin

Dipost 7 tahun yang lalu

Saya lebih sederhana in gan ya... TRUNCATE = 'Ngosongkan table (Menghapus semua record/baris yang ada didalam tabel tertentu)' (Termasuk kelompoknya DML) DELETE = 'Menghapus satu record alias satu baris' (termasuk kelompoknya DML) DROP = 'Menghapus tablenya (bisa table, database, user)' (Termasuk kelompoknya DDL)

TRUNCATE => TRUNCATE nama_table; DELETE = DELETE FROM nama_table WHERE nama_field = idnya; DROP = DELETE nama_table;

Ngomong ngomong DDL (Data Definition Language) = itu perintah yang digunakan untuk utak atik elemennya (table, database, usernya). ibarat kaleng yang diutak atik

DML (Data Manipulation language) = itu perintah yang digunakan untuk utak atik datanya (ex= CREATE, DELETE, UPDATE). ibarat air dalam kaleng yang di utak atik

avatar wildaniedn
@wildaniedn

26 Kontribusi 4 Poin

Dipost 7 tahun yang lalu

nah berarti untuk mengosongkan table dengan membiarkan / tidak cek / tidak terpengaru foreign key constraint(kalau ga salah) menggunakan TRUNCATE ? bener apa salah ??

avatar sukmaw
@sukmaw

340 Kontribusi 75 Poin

Dipost 7 tahun yang lalu

Makasih bro @wildaniedn sudah disederhanakan sesuai maksud saya hehe,

@sukmaw baik TRUNCATE, DELETE atau DROP selama isi dari tabel tersebut digunakan sebagai foreign key ke-3 operasi tersebut tidak akan bisa dijalankan. Namun ketika menggunakan phpmyadmin biasanya Enable foreign key checks-nya tidak saya centang agar ke-3 operasi tersebut dapat tereksekusi tanpa mengecek adanya foreign key.

CMIIW :)

avatar hendrapb
@hendrapb

18 Kontribusi 15 Poin

Dipost 7 tahun yang lalu

Bukannya Truncate termasuk DDL ya? Karna dia fungsinya mengosongkan data dalam tabel tertentu bisa di cek di link ini : https://www.geeksforgeeks.org/sql-drop-truncate/

avatar zafrantsany
@zafrantsany

1 Kontribusi 0 Poin

Dipost 5 tahun yang lalu

Login untuk ikut Jawaban