Postingan lainnya
perbedaan TRUNCATE dan DELETE dan DROP
Misi gan perbedaan query TRUNCATE dan DELETE dan DROP apa yah??
dan saya juga jarang menggunakan TRUNCATE
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 :)
kalau kita mau ngosongin tabel dan tidak mau ada pengecekan foreign key gimana ?? pake TRUNCATE gan?
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
nah berarti untuk mengosongkan table dengan membiarkan / tidak cek / tidak terpengaru foreign key constraint(kalau ga salah) menggunakan TRUNCATE ? bener apa salah ??
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 :)
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/