Perintah Hapus MySQL digunakan untuk menghapus baris yang tidak lagi diperlukan dari tabel database. Ini menghapus seluruh baris dari tabel dan mengembalikan jumlah baris yang dihapus. Perintah hapus sangat berguna untuk menghapus data sementara atau usang dari database Anda
Kueri Hapus di MySQL dapat menghapus lebih dari satu baris dari tabel dalam satu kueri. Ini terbukti menjadi keuntungan saat menghapus sejumlah besar baris dari tabel database
Setelah baris Hapus di baris MySQL dihapus, baris tersebut tidak dapat dipulihkan. Oleh karena itu sangat disarankan untuk membuat cadangan basis data sebelum menghapus data apa pun dari basis data. Ini dapat memungkinkan Anda untuk memulihkan database dan melihat data nanti jika diperlukan
Cara Menghapus baris di MySQL
Untuk menghapus baris di MySQL, pernyataan DELETE FROM digunakan
DELETE FROM `table_name` [WHERE condition];
DI SINI
- DELETE FROM `table_name` memberi tahu server MySQL untuk menghapus baris dari tabel
- [WHERE condition] bersifat opsional dan digunakan untuk menempatkan filter yang membatasi jumlah baris yang dipengaruhi oleh sintaks DELETE MySQL row query
Jika klausa WHERE tidak digunakan dalam kueri MySQL DELETE, maka semua baris dalam tabel tertentu akan dihapus
Contoh Permintaan Hapus MySQL
Sebelum kita masuk ke pembahasan yang lebih mendetail tentang pernyataan SQL DELETE, mari masukkan beberapa contoh data ke dalam tabel film untuk dikerjakan
INSERT INTO `movies` (`title`, `director`, `year_released`, `category_id`) VALUES ('The Great Dictator', 'Chalie Chaplie', 1920, 7); INSERT INTO `movies` (`title`, `director`, `category_id`) VALUES ('sample movie', 'Anonymous', 8); INSERT INTO movies (`title`, `director`, `year_released`, `category_id`) VALUES ('movie 3', 'John Brown', 1920, 8);_
Menjalankan skrip di atas menambahkan tiga (3) film ke dalam tabel film. Sebelum kita melangkah lebih jauh ke pelajaran kita, mari kita dapatkan semua film di meja kita. Skrip yang ditunjukkan di bawah melakukan itu
SELECT * FROM `movies`;
Menjalankan skrip di atas memberi kita hasil sebagai berikut
movie_id title director year_released category_id 1 Pirates of the Caribean 4 Rob Marshall 2011 1 2 Forgetting Sarah Marshal Nicholas Stoller 2008 2 3 X-Men NULL 2008 NULL 4 Code Name Black Edgar Jimz 2010 NULL 5 Daddy's Little Girls NULL 2007 8 6 Angels and Demons NULL 2007 6 7 Davinci Code NULL 2007 6 9 Honey mooners John Schultz 2005 8 16 67% Guilty NULL 2012 NULL 18 The Great Dictator Chalie Chaplie 1920 7 19 sample movie Anonymous NULL 8 20 movie 3 John Brown 1920 8Misalkan perpustakaan video Myflix tidak lagi ingin menyewakan "The Great Dictator" kepada anggotanya dan mereka ingin menghapusnya dari database. Id filmnya adalah 18, kita dapat menggunakan skrip yang ditunjukkan di bawah ini untuk menghapus baris dari tabel contoh MySQL
DELETE FROM `movies` WHERE `movie_id` = 18;_
Menjalankan skrip di atas di MySQL WorkBench terhadap Myflix menghapus film dengan id 18 dari tabel database
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db('mydb');
/* this should return the correct numbers of deleted records */
mysql_query('DELETE FROM mytable WHERE id < 10');
printf("Records deleted: %d\n", mysql_affected_rows());_
/* with a where clause that is never true, it should return 0 */
mysql_query('DELETE FROM mytable WHERE 0');
printf("Records deleted: %d\n", mysql_affected_rows());
?>
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db('mydb');_
/* this should return the correct numbers of deleted records */
mysql_query('DELETE FROM mytable WHERE id < 10');
printf("Records deleted: %d\n", mysql_affected_rows());_
/* with a where clause that is never true, it should return 0 */
mysql_query('DELETE FROM mytable WHERE 0');
printf("Records deleted: %d\n", mysql_affected_rows());
?>