PHP MySQL : Delete

Menghapus Data Tabel Database

Sama seperti kalian memasukkan catatan ke dalam tabel, kalian bisa menghapus catatan dari tabel menggunakan pernyataan SQL DELETE. Biasanya digunakan dalam konjugasi dengan klausa WHERE untuk menghapus hanya catatan yang cocok dengan kriteria atau ketentuan tertentu.

Sintaks dasar pernyataan DELETE dapat diberikan dengan:

Mari kita membuat query SQL menggunakan pernyataan DELETE dan klausa WHERE, setelah itu kita akan mengeksekusi query ini dengan mengirimkannya ke fungsi PHP mysqli_query() untuk menghapus catatan tabel. Pertimbangkan tabel persons berikut di dalam basis data demo:

+----+------------+-----------+----------------------+
| id | first_name | last_name | email                |
+----+------------+-----------+----------------------+
|  1 | Peter      | Parker    | peterparker@mail.com |
|  2 | John       | Rambo     | johnrambo@mail.com   |
|  3 | Clark      | Kent      | clarkkent@mail.com   |
|  4 | John       | Carter    | johncarter@mail.com  |
|  5 | Harry      | Potter    | harrypotter@mail.com |
+----+------------+-----------+----------------------+

Kode PHP dalam contoh berikut ini akan menghapus catatan orang-orang tersebut dari tabel persons yang dimana first_name nya sama dengan John.

<?php
/* Attempt MySQL server connection. Assuming you are running MySQL
server with default setting (user 'root' with no password) */
$link = mysqli_connect("localhost", "root", "", "demo");
 
// Check connection
if($link === false){
    die("ERROR: Could not connect. " . mysqli_connect_error());
}
 
// Attempt delete query execution
$sql = "DELETE FROM persons WHERE first_name='John'";
if(mysqli_query($link, $sql)){
    echo "Records were deleted successfully.";
} else{
    echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}
 
// Close connection
mysqli_close($link);
?>

Setelah penghapusan dilakukan maka tabel persons akan terlihat seperti ini:

+----+------------+-----------+----------------------+
| id | first_name | last_name | email                |
+----+------------+-----------+----------------------+
|  1 | Peter      | Parker    | peterparker@mail.com |
|  3 | Clark      | Kent      | clarkkent@mail.com   |
|  5 | Harry      | Potter    | harrypotter@mail.com |
+----+------------+-----------+----------------------+

Seperti yang kalian lihat, catatan telah berhasil dihapus dari tabel persons.

Peringatan: Klausa WHERE dalam pernyataan DELETE akan menentukan catatan atau catatan mana yang harus dihapus. Jika kalian menghilangkan klausa WHERE, maka semua catatan akan dihapus.