Tutorial SQL Delete: Cara Menghapus Data dengan Efektif

Begini cara menggunakan SQL DELETE agar tidak salah langkah!
RevoU Staff
August 13, 2024
August 8, 2024
3
min read

Mau Belajar

Data Analytics

?

Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub dengan 6000+ member selamanya untuk support perkembangan karir kamu!
DAFTAR FULL PROGRAMCOBA COURSE GRATIS

Overview

Perintah DELETE di SQL digunakan untuk menghapus satu atau lebih baris dari tabel berdasarkan kondisi yang ditentukan dalam klausa WHERE. Penggunaan perintah ini harus dilakukan dengan hati-hati untuk menghindari penghapusan data yang tidak disengaja, memastikan hanya baris yang benar-benar ingin dihapus yang terpengaruh.

Menguasai perintah SQL, termasuk perintah DELETE SQL, sangat penting dalam analisis data. Perintah DELETE SQL digunakan untuk menghapus baris tertentu dalam tabel database, tanpa menghilangkan tabel itu sendiri.

Misalnya, jika kamu memiliki tabel yang berisi informasi pelanggan dan ingin menghapus data pelanggan yang tidak lagi aktif, kamu bisa menggunakan perintah ini. Namun, perlu diingat penggunaan perintah DELETE harus dilakukan dengan hati-hati karena setelah baris data dihapus, informasi tersebut tidak dapat dikembalikan lagi.

Artikel ini akan mengajak kamu lebih dalam memahami bagaimana perintah DELETE bekerja, kapan harus digunakan, dan dampaknya terhadap integritas data. Lebih dari sekedar menghapus baris data, pemahaman tentang DELETE membantu memastikan setiap langkah pembaruan data dilakukan dengan tepat dan aman. Mari selami lebih jauh!

Apa itu DELETE Command di SQL?

Perintah DELETE dalam SQL memudahkan kamu untuk menghapus baris dari tabel yang tidak lagi dibutuhkan, memastikan data yang disimpan tetap relevan dan up-to-date.

Untuk menggunakan perintah DELETE, kamu harus menentukan tabel mana yang akan dihapus data barisnya. Kamu juga bisa menambahkan kondisi spesifik dengan menggunakan klausa WHERE untuk memilih baris tertentu yang ingin dihapus.

Misalnya, jika kamu ingin menghapus data pelanggan yang telah berhenti berlangganan, tulis perintah seperti ini:

Dalam contoh di atas, hanya baris-baris di tabel_pelanggan di mana kolom status_langganan sama dengan 'tidak aktif' yang akan dihapus. Tanpa klausa WHERE, semua baris dalam tabel akan dihapus, yang bisa berakibat fatal bagi data kamu.

Fungsi DELETE Command di SQL

Berikut alasan dan kapan penggunaan perintah DELETE yang tepat:

  • Pembaruan data: terkadang, data tertentu menjadi usang atau salah, sehingga perlu dihapus untuk menghindari kebingungan atau kesalahan dalam analisis. Contoh kasusnya adalah menghapus data transaksi yang ternyata adalah kesalahan entri.
  • Penghapusan data sensitif: untuk mematuhi kebijakan privasi atau regulasi tertentu, data sensitif harus dihapus setelah tidak lagi diperlukan, seperti data pelanggan yang telah meminta penghapusan akun mereka.
  • Optimasi storage: menghapus data yang tidak lagi dibutuhkan dapat membantu mengurangi beban pada sistem penyimpanan dan meningkatkan performa database.
  • Pengelolaan data secara periodik: dalam banyak aplikasi bisnis, menghapus data lama secara berkala adalah bagian dari rutinitas manajemen data, menjaga database tidak terlalu besar dan tetap efisien.

Pentingnya Klausa WHERE dalam Penggunaan DELETE

Ketika menggunakan perintah DELETE tanpa menyertakan klausa WHERE, kamu akan menghapus semua baris dalam tabel.

Hal ini bisa berakibat fatal, terutama dalam database produksi di mana menghapus semua data bisa menyebabkan kerugian besar atau gangguan operasional. Berikut contoh perintah DELETE yang tidak aman.

Misalkan kita memiliki data Pelanggan sebagai berikut:

Kemudian kita menggunakan perintah ini:

Perintah di atas akan menghapus semua data dalam Pelanggan, yang kemungkinan tidak diinginkan. Jika demikian,  data sangat sulit dipulihkan kecuali ada backup yang tepat.

Agar menghindari risiko tersebut, selalu gunakan klausa WHERE untuk menentukan secara spesifik baris mana yang ingin dihapus. Ini akan membatasi operasi DELETE hanya pada baris yang memenuhi kriteria yang ditentukan.

Bagaimana Cara Menghapus Data di SQL?

Berikut cara dan contoh penggunaan perintah DELETE dengan sebuah dataset. Misalkan kita memiliki tabel Pelanggan dengan struktur dan data sebagai berikut:

Contoh 1: menghapus data tertentu

Kamu ingin menghapus data pelanggan yang bernama 'Budi'. Kamu bisa menggunakan perintah berikut:

Setelah menjalankan perintah ini, tabel Pelanggan akan terlihat seperti:

Contoh 2: menghapus data berdasarkan kondisi kompleks

Misalnya, kamu ingin menghapus semua pelanggan yang berumur di bawah 30 tahun. Kamu dapat menggunakan perintah:

Output tabel Pelanggan akan menjadi:

FAQ (Frequently Ask Questions)

Apa perbedaan antara DELETE dan TRUNCATE dalam SQL?

Perbedaan antara DELETE dan TRUNCATE dalam SQL cukup signifikan, terutama dalam hal cara operasi dilakukan dan dampaknya terhadap database:

Bagaimana cara mengembalikan data yang terhapus dengan perintah DELETE?

Mengembalikan data yang terhapus dengan perintah DELETE bisa menjadi tantangan, terutama jika transaksi telah di-commit. Namun, ada beberapa pendekatan yang dapat kamu gunakan untuk mencoba memulihkan data tersebut:

#1 Backup dan restore

Cara paling aman dan terpercaya untuk mengembalikan data yang terhapus adalah menggunakan backup dari database.

Jika kamu memiliki backup yang up-to-date, kamu bisa mengembalikan data yang hilang dengan memulihkan backup tersebut. Artinya, kamu akan mengembalikan seluruh database atau hanya bagian tertentu, tergantung pada setup dan kebutuhan.

#2 Point-in-Time Recovery (PITR)

Banyak sistem manajemen database modern seperti PostgreSQL, MySQL, dan Oracle mendukung fitur yang disebut point-in-time recovery. Fitur ini membantu kamu mengembalikan database ke kondisi pada waktu tertentu sebelum data dihapus. Ini perlu mengaktifkan logging transaksi (seperti WAL di PostgreSQL), untuk mencatat setiap perubahan yang dibuat pada database.

#3 Log analysis

Beberapa database (seperti SQL Server) menyimpan log transaksi detail, yang mungkin bisa kamu analisis untuk menemukan perintah DELETE yang telah dijalankan dan mencoba "membalikkan" efeknya. Ini bisa sangat teknis dan memerlukan pemahaman mendalam tentang cara kerja log di database kamu.

#4 Third-party tools

Ada berbagai tools dan layanan pihak ketiga yang dirancang untuk membantu memulihkan data SQL. Tools ini biasanya dapat membaca log transaksi database dan membantu memulihkan data yang terhapus. Contoh tools-nya termasuk ApexSQL Recover untuk SQL Server atau Stellar Data Recovery untuk MySQL.

Bagaimana perintah DELETE menangani nilai NULL di SQL?

Dalam SQL, perintah DELETE dapat menghapus baris yang memiliki nilai NULL pada kolomnya, asalkan kondisi dalam klausa WHERE secara benar mengidentifikasi nilai NULL tersebut.

Sebagai contoh, jika kamu ingin menghapus baris di mana kolom tertentu adalah NULL, kamu harus menggunakan sintaks yang tepat seperti:

Penting untuk menggunakan IS NULL karena NULL tidak dianggap sama dengan apa pun, bahkan NULL lain, sehingga kamu tidak dapat menggunakan operator = untuk memeriksa nilai NULL

Hal ini dikarenakan NULL di SQL merepresentasikan 'tidak diketahui' atau 'tidak ada nilai', dan tidak dapat dibandingkan secara langsung dengan nilai lain menggunakan operator pembanding standar.

RevoU Staff
Kickstart your career in tech with RevoU!

Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!

Rasakan pengalaman belajar di RevoU Full-Stack Program: Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion. Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)

Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!

Rasakan pengalaman belajar di RevoU Full-Stack Program: Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion. Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)

Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!

Rasakan pengalaman belajar di RevoU Full-Stack Program: Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion. Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)

Artikel Lainnya

Mau belajar

Data Analytics

?

Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub dengan 6000+ member selamanya untuk support perkembangan karir kamu!
Daftar Isi

Mulai karirmu dalam

Data Analytics

Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub dengan 6000+ member selamanya untuk support perkembangan karir kamu!

Mau Belajar

Data Analytics

?

Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub dengan 6000+ member selamanya untuk support perkembangan karir kamu!

DAFTAR FULL PROGRAM

Mau Belajar

Data Analytics

?

Tutorial SQL Delete: Cara Menghapus Data dengan Efektif

Begini cara menggunakan SQL DELETE agar tidak salah langkah!
RevoU Staff
August 8, 2024
3
min read

Overview

Perintah DELETE di SQL digunakan untuk menghapus satu atau lebih baris dari tabel berdasarkan kondisi yang ditentukan dalam klausa WHERE. Penggunaan perintah ini harus dilakukan dengan hati-hati untuk menghindari penghapusan data yang tidak disengaja, memastikan hanya baris yang benar-benar ingin dihapus yang terpengaruh.

Menguasai perintah SQL, termasuk perintah DELETE SQL, sangat penting dalam analisis data. Perintah DELETE SQL digunakan untuk menghapus baris tertentu dalam tabel database, tanpa menghilangkan tabel itu sendiri.

Misalnya, jika kamu memiliki tabel yang berisi informasi pelanggan dan ingin menghapus data pelanggan yang tidak lagi aktif, kamu bisa menggunakan perintah ini. Namun, perlu diingat penggunaan perintah DELETE harus dilakukan dengan hati-hati karena setelah baris data dihapus, informasi tersebut tidak dapat dikembalikan lagi.

Artikel ini akan mengajak kamu lebih dalam memahami bagaimana perintah DELETE bekerja, kapan harus digunakan, dan dampaknya terhadap integritas data. Lebih dari sekedar menghapus baris data, pemahaman tentang DELETE membantu memastikan setiap langkah pembaruan data dilakukan dengan tepat dan aman. Mari selami lebih jauh!

Apa itu DELETE Command di SQL?

Perintah DELETE dalam SQL memudahkan kamu untuk menghapus baris dari tabel yang tidak lagi dibutuhkan, memastikan data yang disimpan tetap relevan dan up-to-date.

Untuk menggunakan perintah DELETE, kamu harus menentukan tabel mana yang akan dihapus data barisnya. Kamu juga bisa menambahkan kondisi spesifik dengan menggunakan klausa WHERE untuk memilih baris tertentu yang ingin dihapus.

Misalnya, jika kamu ingin menghapus data pelanggan yang telah berhenti berlangganan, tulis perintah seperti ini:

Dalam contoh di atas, hanya baris-baris di tabel_pelanggan di mana kolom status_langganan sama dengan 'tidak aktif' yang akan dihapus. Tanpa klausa WHERE, semua baris dalam tabel akan dihapus, yang bisa berakibat fatal bagi data kamu.

Fungsi DELETE Command di SQL

Berikut alasan dan kapan penggunaan perintah DELETE yang tepat:

  • Pembaruan data: terkadang, data tertentu menjadi usang atau salah, sehingga perlu dihapus untuk menghindari kebingungan atau kesalahan dalam analisis. Contoh kasusnya adalah menghapus data transaksi yang ternyata adalah kesalahan entri.
  • Penghapusan data sensitif: untuk mematuhi kebijakan privasi atau regulasi tertentu, data sensitif harus dihapus setelah tidak lagi diperlukan, seperti data pelanggan yang telah meminta penghapusan akun mereka.
  • Optimasi storage: menghapus data yang tidak lagi dibutuhkan dapat membantu mengurangi beban pada sistem penyimpanan dan meningkatkan performa database.
  • Pengelolaan data secara periodik: dalam banyak aplikasi bisnis, menghapus data lama secara berkala adalah bagian dari rutinitas manajemen data, menjaga database tidak terlalu besar dan tetap efisien.

Pentingnya Klausa WHERE dalam Penggunaan DELETE

Ketika menggunakan perintah DELETE tanpa menyertakan klausa WHERE, kamu akan menghapus semua baris dalam tabel.

Hal ini bisa berakibat fatal, terutama dalam database produksi di mana menghapus semua data bisa menyebabkan kerugian besar atau gangguan operasional. Berikut contoh perintah DELETE yang tidak aman.

Misalkan kita memiliki data Pelanggan sebagai berikut:

Kemudian kita menggunakan perintah ini:

Perintah di atas akan menghapus semua data dalam Pelanggan, yang kemungkinan tidak diinginkan. Jika demikian,  data sangat sulit dipulihkan kecuali ada backup yang tepat.

Agar menghindari risiko tersebut, selalu gunakan klausa WHERE untuk menentukan secara spesifik baris mana yang ingin dihapus. Ini akan membatasi operasi DELETE hanya pada baris yang memenuhi kriteria yang ditentukan.

Bagaimana Cara Menghapus Data di SQL?

Berikut cara dan contoh penggunaan perintah DELETE dengan sebuah dataset. Misalkan kita memiliki tabel Pelanggan dengan struktur dan data sebagai berikut:

Contoh 1: menghapus data tertentu

Kamu ingin menghapus data pelanggan yang bernama 'Budi'. Kamu bisa menggunakan perintah berikut:

Setelah menjalankan perintah ini, tabel Pelanggan akan terlihat seperti:

Contoh 2: menghapus data berdasarkan kondisi kompleks

Misalnya, kamu ingin menghapus semua pelanggan yang berumur di bawah 30 tahun. Kamu dapat menggunakan perintah:

Output tabel Pelanggan akan menjadi:

FAQ (Frequently Ask Questions)

Apa perbedaan antara DELETE dan TRUNCATE dalam SQL?

Perbedaan antara DELETE dan TRUNCATE dalam SQL cukup signifikan, terutama dalam hal cara operasi dilakukan dan dampaknya terhadap database:

Bagaimana cara mengembalikan data yang terhapus dengan perintah DELETE?

Mengembalikan data yang terhapus dengan perintah DELETE bisa menjadi tantangan, terutama jika transaksi telah di-commit. Namun, ada beberapa pendekatan yang dapat kamu gunakan untuk mencoba memulihkan data tersebut:

#1 Backup dan restore

Cara paling aman dan terpercaya untuk mengembalikan data yang terhapus adalah menggunakan backup dari database.

Jika kamu memiliki backup yang up-to-date, kamu bisa mengembalikan data yang hilang dengan memulihkan backup tersebut. Artinya, kamu akan mengembalikan seluruh database atau hanya bagian tertentu, tergantung pada setup dan kebutuhan.

#2 Point-in-Time Recovery (PITR)

Banyak sistem manajemen database modern seperti PostgreSQL, MySQL, dan Oracle mendukung fitur yang disebut point-in-time recovery. Fitur ini membantu kamu mengembalikan database ke kondisi pada waktu tertentu sebelum data dihapus. Ini perlu mengaktifkan logging transaksi (seperti WAL di PostgreSQL), untuk mencatat setiap perubahan yang dibuat pada database.

#3 Log analysis

Beberapa database (seperti SQL Server) menyimpan log transaksi detail, yang mungkin bisa kamu analisis untuk menemukan perintah DELETE yang telah dijalankan dan mencoba "membalikkan" efeknya. Ini bisa sangat teknis dan memerlukan pemahaman mendalam tentang cara kerja log di database kamu.

#4 Third-party tools

Ada berbagai tools dan layanan pihak ketiga yang dirancang untuk membantu memulihkan data SQL. Tools ini biasanya dapat membaca log transaksi database dan membantu memulihkan data yang terhapus. Contoh tools-nya termasuk ApexSQL Recover untuk SQL Server atau Stellar Data Recovery untuk MySQL.

Bagaimana perintah DELETE menangani nilai NULL di SQL?

Dalam SQL, perintah DELETE dapat menghapus baris yang memiliki nilai NULL pada kolomnya, asalkan kondisi dalam klausa WHERE secara benar mengidentifikasi nilai NULL tersebut.

Sebagai contoh, jika kamu ingin menghapus baris di mana kolom tertentu adalah NULL, kamu harus menggunakan sintaks yang tepat seperti:

Penting untuk menggunakan IS NULL karena NULL tidak dianggap sama dengan apa pun, bahkan NULL lain, sehingga kamu tidak dapat menggunakan operator = untuk memeriksa nilai NULL

Hal ini dikarenakan NULL di SQL merepresentasikan 'tidak diketahui' atau 'tidak ada nilai', dan tidak dapat dibandingkan secara langsung dengan nilai lain menggunakan operator pembanding standar.

RevoU Staff
Kickstart your career in tech with RevoU!
Menu