Node.js - MySQL Delete: Panduan Komprehensif untuk Pemula

Halo, para pemrogram yang sedang belajar! Hari ini, kita akan mendalaminya dunia Node.js dan MySQL, dengan fokus pada cara menghapus data dari database. Jangan khawatir jika Anda masih pemula – saya akan memandu Anda di setiap langkah dengan kesabaran seperti buaya tua. Mari kita mulai perjalanan kita!

Node.js - MySQL Delete

Pengenalan ke MySQL DELETE

Sebelum kita mulai menghapus data secukupnya, mari kita pahami apa arti sebenarnya DELETE dalam konteks database. Bayangkan Anda memiliki buku catatan digital (itu adalah database kita) yang penuh dengan berbagai catatan (data kita). Kadang-kadang, Anda mungkin ingin menghapus catatan tertentu yang tidak relevan lagi. Itu sebenarnya apa yang dilakukan operasi DELETE di MySQL.

Menyiapkan Lingkungan Kerja

Pertama-tama, pastikan Anda sudah menginstal Node.js dan modul MySQL. Jika Anda belum, silakan instal Node.js dari situs web resmi. Kemudian, buka terminal Anda dan jalankan perintah:

npm install mysql

Perintah ini menginstal modul MySQL untuk Node.js, memungkinkan kita untuk terhubung dan berinteraksi dengan database MySQL kita.

Menghubungkan ke MySQL

Sebelum kita bisa menghapus apa pun, kita perlu membentuk koneksi ke database MySQL kita. Berikut cara melakukan itu:

const mysql = require('mysql');

const connection = mysql.createConnection({
host: 'localhost',
user: 'your_username',
password: 'your_password',
database: 'your_database_name'
});

connection.connect((err) => {
if (err) {
console.error('Error connecting to the database: ' + err.stack);
return;
}
console.log('Connected to the database.');
});

Dalam kode ini, kita mengimpor modul MySQL dan membuat koneksi ke database kita. Ganti 'your_username', 'your_password', dan 'your_database_name' dengan kredensial MySQL Anda sebenarnya.

DELETE Sederhana

Sekarang kita sudah terhubung, mari belajar bagaimana melakukan operasi DELETE sederhana. Bayangkan kita memiliki tabel 'students' dan kita ingin menghapus seorang murid bernama 'John Doe'.

const deleteQuery = "DELETE FROM students WHERE name = 'John Doe'";

connection.query(deleteQuery, (err, result) => {
if (err) throw err;
console.log(`Deleted ${result.affectedRows} row(s)`);
});

mariuraikan ini:

  1. Kita mendefinisikan query DELETE kita sebagai string. Itu memberitahu MySQL untuk menghapus dari tabel 'students' di mana nama adalah 'John Doe'.
  2. Kita gunakan metode connection.query() untuk menjalankan query kita.
  3. Jika ada kesalahan, kita lemparkan itu. Jika tidak, kita catat berapa banyak baris yang terpengaruh oleh operasi delete kita.

Ingat, query ini akan menghapus SEMUA baris di mana nama adalah 'John Doe'. Jika Anda memiliki beberapa John Does (para teman yang kurang beruntung), mereka semua akan dihapus!

Menggunakan Klausul LIMIT

kadang-kadang, Anda mungkin ingin membatasi jumlah baris yang Anda hapus. Itu di mana klausul LIMIT berguna. mari kita anggap kita hanya ingin menghapus satu catatan 'John Doe':

const limitedDeleteQuery = "DELETE FROM students WHERE name = 'John Doe' LIMIT 1";

connection.query(limitedDeleteQuery, (err, result) => {
if (err) throw err;
console.log(`Deleted ${result.affectedRows} row(s)`);
});

Query ini mirip dengan yang sebelumnya, tapi kita menambahkan LIMIT 1 di akhir. Ini memastikan bahwa hanya satu baris (baris pertama yang cocok) akan dihapus.

Menghapus Berdasarkan Beberapa Kondisi

Dalam situasi dunia nyata, Anda seringkali perlu menghapus berdasarkan beberapa kondisi. mari kita anggap kita ingin menghapus semua murid bernama 'John Doe' yang juga berusia lebih dari 20 tahun:

const multiConditionDelete = "DELETE FROM students WHERE name = 'John Doe' AND age > 20";

connection.query(multiConditionDelete, (err, result) => {
if (err) throw err;
console.log(`Deleted ${result.affectedRows} row(s)`);
});

Di sini, kita menggunakan operator AND untuk menggabungkan dua kondisi. Query ini hanya akan menghapus catatan yang memenuhi kedua kondisi.

Menggunakan Variabel dalam Query DELETE

Hingga sekarang, kita telah menghardcode nilai kita langsung ke dalam string query. Tetapi, apa bila kita ingin membuat query kita lebih fleksibel? Kita bisa menggunakan variabel:

const name = 'John Doe';
const age = 20;

const variableDelete = "DELETE FROM students WHERE name = ? AND age > ?";

connection.query(variableDelete, [name, age], (err, result) => {
if (err) throw err;
console.log(`Deleted ${result.affectedRows} row(s)`);
});

Dalam contoh ini:

  1. Kita mendefinisikan variabel kita secara terpisah.
  2. Dalam string query kita, kita gunakan ? sebagai placeholder untuk variabel kita.
  3. Kita kirim array variabel kita sebagai argumen kedua ke connection.query().

Metode ini membantu mencegah serangan SQL injection dan membuat kode kita lebih mudah dibaca dan diawasi.

Menghapus Semua Catatan dari Tabel

kadang-kadang, Anda mungkin ingin menghapus semua catatan dari tabel. Hatikan operasi ini, karena itu tidak bisa dibatalkan!

const deleteAllQuery = "DELETE FROM students";

connection.query(deleteAllQuery, (err, result) => {
if (err) throw err;
console.log(`Deleted ${result.affectedRows} row(s)`);
});

Query ini akan menghapus semua baris dari tabel 'students'. Gunakanlah ini bijaksana!

Kesimpulan

Selamat! Anda baru saja belajar dasar menghapus data dari database MySQL menggunakan Node.js. Ingat, dengan kekuatan yang besar datang tanggung jawab yang besar. Selalu periksa query DELETE Anda sebelum menjalankan mereka, khususnya di lingkungan produksi.

Berikut adalah ringkasan metode yang kita pelajari:

Metode Deskripsi
DELETE Sederhana Menghapus semua baris yang cocok dengan suatu kondisi
DELETE dengan LIMIT Menghapus sejumlah tertentu baris
DELETE dengan beberapa kondisi Menghapus baris yang memenuhi beberapa kondisi
DELETE dengan variabel Menggunakan variabel untuk query yang fleksibel dan aman
DELETE semua catatan Menghapus semua baris dari tabel

Praktikkan metode ini, eksperimen dengan data Anda sendiri, dan segera Anda akan menjadi master MySQL DELETE! Ingat, belajar mengoding adalah seperti belajar menunggang sepeda – mungkin terlihat wobble di awal, tapi dengan latihan, Anda akan mulai mengendarai dengan lancar! Selamat coding!

Credits: Image by storyset