info-b

Tutorial Belajar MySQL Part 25: Cara Menghapus Baris dari Tabel MySQL (DELETE)

Posted on

Pada administrasi database, penghapusan record/baris yang dianggap telah tak diperlukan lagi adalah hal yang sering dilakukan. MySQL menyediakan beberapa cara bagi menghapus record dari tabel. Di panduan belajar MySQL kali ini kita akan mempelajari cara menghapus baris dari tabel MySQL menggunakan query DELETE.


Mempersiapkan Tabel Contoh:  daftar_dosen

Selaku tabel contoh, saya akan menggunakan tabel daftar_dosen dengan isi tabel seperti tertera di tabel dibawah. Seandainya sahabat ingin mencoba query di panduan ini, silahkan input data tabel tersebut dengan query INSERT, atau ikuti cara import tabel daftar_dosen seperti di Tutorial Belajar MySQL: Menampilkan Data dari Tabel MySQL (SELECT)

Tabel daftar_dosen

NIP Nama Dosen No HP Domisili
0160436012 Sabrina Sari 0812349900 Pekanbaru
0260432002 Maya Ari Putri 0812345234 Palembang
0275430005 Susi Indriani 0812656532 Bogor
0480432066 Tia Santrini 0812451177 Padang
0576431001 M. Siddiq 0812979005 Jakarta
0770435006 Rubin Hadi 0812567678 Papua
0869437003 Mustalifah 0812338877 Aceh
1080432007 Arif Budiman 0812456345 Makasar

Cara Menghapus Record dengan Query DELETE

Bagi penghapusan baris (atau disebut pun dengan record) pada MySQL, kita memerlukan beberapa syarat, yaitu nama tabel dimana baris atau record tersebut berada, dan kondisi bagi penghapusan tersebut.

Format basic penulisan query DELETE yakni:

  • nama_tabel yakni nama dari tabel yang record/barisnya akan dihapus
  • kondisi yakni kodisi baris yang akan dihapus, misalnya hapus kolom dimana nama dosen = Sabrina Sari

Seketika saja dengan contoh, misalkan kita ingin menghapus record/baris bagi nama dosen Sabrina Sari karenanya querynya:

Kunci dari query DELETE yakni pernyataan kondisi setelah WHERE, yaitu dimana kita memberitahukan kepada MySQL syarat/kondisi yang mesti dipenuhi bagi menghapus suatu record. Kondisi ini pun mendukung logika OR atau AND bagi penghapusan yang lebih kompleks, seperti contoh berikut:

Dengan menggunakan logika OR seperti pada query diatas, dengan satu command DELETE kita menghapus 2 buah baris/record sekaligus.

Pada manual MySQL, format penulisan komplit dari query DELETE yakni :

Kita akan membahas pemakaian ORDER BY dan LIMIT sesaat lagi.


Cara Menghapus Record dengan Query DELETE..ORDER BY..LIMIT

MySQL menyediakan kondisi tambahan dengan command opsional ORDER BY dan LIMIT. Petunjuk ORDER BY dan LIMIT ini sama dengan pembahasan kita di Tutorial MySQL: Cara Menampilkan data dari tabel dengan query SELECT. ORDER BY digunakan bagi mengurutkan data, sedangkan LIMIT digunakan bagi membatasi hasil record.

Petunjuk opsional ORDER BY dan LIMIT disediakan bagi command penghapusan yang lebih spesifik, misalkan: hapus 10 baris terakhir dari tabel dimulai dari tanggal transaksi sangat awal. Hal ini biasanya dilakukan apabila kita tabel yang regular di hapus apabila telah melebihi batas maksimum record.

Selaku contoh bagi tabel daftar_dosen, misalkan kita ingin menghapus 3 baris terakhir dari tabel daftar_dosen yang dimulai dari abjad terakhir dari nama dosen. Bagi kebutuhan ini, pertama-tama kita mesti mengurutkan tabel daftar_dosen dengan menggunakan kolom nama dosen secara terbalik, lalu menghapus 3 record sangat awal.

Karena tabel contoh daftar_dosen hanya tinggal berisi 5 record, karenanya saya menghapus seluruh record dengan query DELETE, lalu menginputnya lagi menggunakan query LOAD DATA INFILE.

Sebelum query DELETE ORDER BY LIMIT, saya menampilkan seluruh tabel dengan command SELECT dan mengurutkannya merujuk pada kolom nama_dosen. Dengan membandingkan hasil SELECT setelah dan sebelum query DELETE ORDER BY LIMIT, kita dapat melihat bahwa 3 baris terakhir telah terhapus dari tabel.

Cara Menghapus Seluruh Isi dari Tabel

Bagi kebutuhan penghapusan seluruh isi dari tabel, lumayan menggunakan query DELETE tanpa mencantumkan kodisi WHERE. Misalkan bagi menghapus keseluruhan tabel daftar_dosen, querynya yakni:

Dari query diatas, MySQL pun menampilkan jumlah record/baris yang telah dihapus, hal ini lumayan bermanfaat selaku informasi kepada pengguna.

Namun apabila informasi tersebut tak kita butuhkan, MySQL menyediakan query TRUNCATE seperti contoh berikut:

Secara internal, TRUNCATE dijalankan dengan cara menghapus tabel menggunakan DROP, lalu merancang ulang tabel itu kembali. Cara ini akan lebih cepat dari di command DELETE yang menghapus baris satu persatu. Perbedaan kecepatan eksekusi ini baru terasa apabila tabel tersebut mempunyai jumlah record yang banyak.


Pada panduan MySQL kali ini kita telah membahas mengenai cara pemakaian query DELETE untuk menghapus data tabel MySQL. Pada panduan berikutnya, kita akan membahas mengenai Cara Memperbaharui / Update data di dalam Tabel MySQL.


Sumber https://www.duniailkom.com/