SQL - DELETE Query: Panduan Kawan untuk Pemula

Hai teman-teman yang bersemangat dalam SQL! Hari ini, kita akan melihat dunia queri DELETE di SQL. Jangan khawatir jika Anda baru saja memulai dengan pemrograman - saya akan memandu Anda langkah demi langkah, seperti yang telah saya lakukan untuk ribuan murid selama tahun-tahun pengajaran saya. Jadi, ambil secangkir kopi (atau teh, jika itu yang Anda suka), dan mari kita mulai!

SQL - Delete Query

Statement DELETE di SQL

Bayangkan Anda sedang mengatur album foto digital Anda. Kadang-kadang, Anda ingin menghapus beberapa foto, kan? Itu tepat apa yang dilakukan statement DELETE di SQL - itu membantu kita menghapus data yang tidak diinginkan dari tabel database kita.

Ini adalah sintaks dasar dari statement DELETE:

DELETE FROM table_name
WHERE condition;

mari kitauraikan ini:

  • DELETE FROM: Ini memberitahu SQL bahwa kita ingin menghapus sesuatu dari tabel tertentu.
  • table_name: Ganti ini dengan nama tabel Anda.
  • WHERE: Ini opsional tapi penting. Itu menentukan baris mana yang akan dihapus.
  • condition: Ini adalah tempat Anda menetapkan kriteria penghapusan.

Contoh 1: Menghapus Satu Baris

Ayo katakan kita memiliki tabel yang disebut students dan kita ingin menghapus seorang siswa bernama John Doe:

DELETE FROM students
WHERE name = 'John Doe';

Query ini akan menghapus baris tempat nama adalah tepat 'John Doe'. Hatikan saja! Jika ada beberapa John Doe, mereka semua akan dihapus.

Contoh 2: Menghapus Berdasarkan Kondisi Numerik

Sekarang, mari kita menghapus semua siswa yang berusia lebih dari 25 tahun:

DELETE FROM students
WHERE age > 25;

Ini akan menghapus semua baris tempat umur lebih dari 25. Itu seperti mengatakan ke database, "Hey, hapus siapa saja yang cukup tua untuk sewa mobil tanpa biaya tambahan!"

Menghapus Banyak Baris

kadang-kadang, Anda mungkin ingin menghapus banyak baris yang memenuhi kriteria tertentu. Ayo lihat beberapa contoh.

Contoh 3: Menghapus Baris dengan Kondisi Ganda

Suppose kita ingin menghapus semua siswa yang berusia lebih dari 30 tahun dan memiliki IPK dibawah 2.5:

DELETE FROM students
WHERE age > 30 AND gpa < 2.5;

Query ini menggabungkan dua kondisi menggunakan AND. Itu seperti mengatakan, "Hapus siswa yang berusia lebih dari 30 tahun dan mengalami kesulitan akademik."

Contoh 4: Menghapus Baris Berdasarkan Daftar Nilai

Apa bila kita ingin menghapus siswa dari daftar kota tertentu? Kita dapat menggunakan operator IN:

DELETE FROM students
WHERE city IN ('New York', 'Los Angeles', 'Chicago');

Query ini akan menghapus semua siswa yang berasal dari New York, Los Angeles, atau Chicago. Itu seperti memiliki daftar VIP, tapi untuk penghapusan!

Menghapus Semua Record dari Tabel

kadang-kadang, Anda mungkin ingin menghapus semua record dari tabel. Itu seperti memutuskan untuk kosongkan lemari pakaian Anda untuk memulai baru. Ini adalah cara Anda melakukannya:

DELETE FROM table_name;

Contohnya, untuk menghapus semua record dari tabel students:

DELETE FROM students;

⚠️ Peringatan: Hatikan dengan sangat teliti perintah ini! Itu seperti menggunakan senapan api untuk membersihkan kamar - efektif, tapi berbahaya jika digunakan dengan salah.

Menghapus Record di Banyak Tabel

Sekarang, mari kita tingkatkan sedikit. Kadang-kadang, Anda perlu menghapus record dari beberapa tabel yang berkaitan secara bersamaan. Ini adalah tempat hal-hal menjadi lebih kompleks, tapi jangan khawatir - saya akan memandu Anda.

Contoh 5: Menghapus dari Banyak Tabel Menggunakan JOIN

Ayo katakan kita memiliki dua tabel: students dan enrollments. Kita ingin menghapus semua pendaftaran dan record siswa yang belum membayar biaya:

DELETE students, enrollments
FROM students
JOIN enrollments ON students.id = enrollments.student_id
WHERE students.fees_paid = 0;

Query ini melakukan beberapa hal:

  1. Menggabungkan tabel students dan enrollments.
  2. Mencari siswa yang belum membayar biaya.
  3. Menghapus record yang cocok dari kedua tabel.

Itu seperti membersihkan daftar kontak dan secara bersamaan menghapus kontak ini dari semua group chat Anda!

Contoh 6: Menggunakan Subquery untuk Penghapusan

Kadang-kadang, Anda mungkin perlu menghapus berdasarkan data di tabel lain tanpa sebenarnya menggabungkannya. Ini adalah contoh:

DELETE FROM enrollments
WHERE student_id IN (
SELECT id
FROM students
WHERE graduation_year < 2020
);

Query ini menghapus semua pendaftaran untuk siswa yang lulus sebelum tahun 2020. Itu seperti mengatakan, "Hapus semua undangan acara untuk orang yang telah pindah."

Ringkasan Metode DELETE

Berikut ini adalah tabel referensi singkat dari metode DELETE yang kita pelajari:

Metode Deskripsi Contoh
Basic DELETE Menghapus baris berdasarkan kondisi DELETE FROM students WHERE name = 'John Doe';
DELETE dengan kondisi ganda Menghapus baris yang memenuhi kriteria ganda DELETE FROM students WHERE age > 30 AND gpa < 2.5;
DELETE dengan klausal IN Menghapus baris berdasarkan daftar nilai DELETE FROM students WHERE city IN ('New York', 'Los Angeles', 'Chicago');
DELETE semua record Menghapus semua baris dari tabel DELETE FROM students;
DELETE dengan JOIN Menghapus record terkait dari banyak tabel DELETE students, enrollments FROM students JOIN enrollments ON students.id = enrollments.student_id WHERE students.fees_paid = 0;
DELETE dengan subquery Menghapus berdasarkan hasil queri lain DELETE FROM enrollments WHERE student_id IN (SELECT id FROM students WHERE graduation_year < 2020);

Dan itu adalah! Anda telah belajar tentang queri DELETE di SQL. Ingat, dengan kekuatan yang besar datang tanggung jawab yang besar. Selalu periksa klausal WHERE Anda sebelum menjalankan queri DELETE, dan jika memungkinkan, mulai dengan SELECT untuk pratinjau apa yang Anda akan hapus.

Latih queri ini, mainkan dengannya, dan segera Anda akan menjadi ahli dalam menghapus data! Tetapi ingat - di dunia nyata, seringkali lebih baik mengarsipkan data daripada menghapusnya secara permanen. Selamat menanyakan, dan semoga basis data Anda selalu bersih dan teratur!

Credits: Image by storyset