Terkadang data perlu dihapus — pengguna menghapus akun, produk ditarik dari katalog, atau komentar spam dibersihkan. Proses ini disebut delete data MySQL, menggunakan perintah DELETE. Seperti UPDATE, operasi ini harus dilakukan dengan sangat hati-hati.
Perintah DELETE Dasar
<?php $sql = "DELETE FROM pengguna WHERE id = 5"; $koneksi->query($sql); ?>
PERINGATAN: Selalu Pakai WHERE!
Sama seperti UPDATE, menjalankan DELETE tanpa WHERE akan menghapus SELURUH isi tabel:
-- BENCANA! menghapus semua data DELETE FROM pengguna;
Pastikan selalu ada kondisi WHERE yang menargetkan baris spesifik.
Delete dengan Prepared Statement
<?php
$stmt = $koneksi->prepare("DELETE FROM pengguna WHERE id = ?");
$stmt->bind_param("i", $id);
$id = 5;
$stmt->execute();
echo "Data dihapus";
?>
DELETE vs TRUNCATE
Ada dua cara mengosongkan data. DELETE menghapus baris tertentu (bisa dengan WHERE) dan bisa dibatalkan dalam transaksi. Sedangkan TRUNCATE TABLE mengosongkan seluruh tabel sekaligus dan mereset AUTO_INCREMENT, tetapi tidak bisa memakai WHERE.
Pertimbangkan Soft Delete
Untuk data penting, banyak pengembang memilih tidak menghapus permanen. Sebaliknya, mereka menandai data sebagai nonaktif dengan kolom seperti status = 'dihapus'. Ini disebut soft delete dan memungkinkan pemulihan data jika diperlukan.
Kesimpulan
Berhati-hatilah saat delete data MySQL. Selalu gunakan WHERE, pakai prepared statement, dan pertimbangkan soft delete untuk data yang mungkin perlu dipulihkan. Sekali terhapus permanen, data sulit dikembalikan.
Referensi: untuk penjelasan lebih mendalam, kunjungi dokumentasi resmi PHP (php.net).

