Node.js - MySQL Pembaruan

Hai teman, bakal bintang coding masa depan! Hari ini, kita akan melihat dunia yang menarik dari Node.js dan pembaruan MySQL. Jangan khawatir jika Anda masih baru - saya bakal menjadi panduan yang ramah untuk petualangan ini. Pada akhir panduan ini, Anda akan bisa memperbarui basis data seperti seorang ahli!

Node.js - MySQL Update

Memahami dasar-dasar

Sebelum kita masuk ke kode, mari berbicara tentang apa yang kita lakukan. Ketika kita membahas "pembaruan" di MySQL, kita secara essensial mengubah data yang sudah ada di basis data kita. Itu seperti mengedit dokumen, tapi bukan di file Word, melainkan di basis data yang penuh informasi.

Pembaruan Sederhana

Mari mulai dengan pembaruan sederhana. Bayangkan Anda memiliki basis data buku kesukaan Anda, dan Anda ingin mengubah penilaian salah satu di antaranya.

Ini adalah cara kita melakukan itu:

const mysql = require('mysql');

// Pertama, kita buat koneksi ke basis data kita
const connection = mysql.createConnection({
host: 'localhost',
user: 'yourusername',
password: 'yourpassword',
database: 'yourdatabase'
});

// Sekarang, mari kita hubungkan!
connection.connect((err) => {
if (err) throw err;
console.log('Terhubung ke basis data!');

// Ini adalah query UPDATE kita
let sql = "UPDATE books SET rating = 5 WHERE title = 'The Great Gatsby'";

// Mari kita eksekusi query ini
connection.query(sql, (err, result) => {
if (err) throw err;
console.log(result.affectedRows + " rekord(rekords) diperbarui");
});
});

mariuraikan ini:

  1. Kita mulai dengan memanggil modul MySQL dan membuat koneksi ke basis data kita.
  2. Kita gunakan perintah UPDATE SQL untuk mengubah rating menjadi 5 untuk buku berjudul 'The Great Gatsby'.
  3. Kita eksekusi query menggunakan connection.query().
  4. Jika berhasil, kita catat berapa banyak baris yang terpengaruh oleh pembaruan kita.

Ingat, selalu periksa klausa WHERE dalam pernyataan UPDATE. Tanpa itu, Anda mungkin secara tidak sengaja memperbarui setiap rekord di tabel Anda!

Pembaruan dengan Statement Siap

Sekarang, mari kita tingkatkan permainan kita dengan statement siap. Ini adalah seperti templat yang dapat digunakan kembali untuk query SQL kita, membuat kode kita lebih aman dan efisien.

const mysql = require('mysql');

const connection = mysql.createConnection({
host: 'localhost',
user: 'yourusername',
password: 'yourpassword',
database: 'yourdatabase'
});

connection.connect((err) => {
if (err) throw err;
console.log('Terhubung ke basis data!');

// Statement siap kita
let sql = "UPDATE books SET rating = ? WHERE title = ?";
let values = [4, 'To Kill a Mockingbird'];

// Eksekusi statement siap
connection.query(sql, values, (err, result) => {
if (err) throw err;
console.log(result.affectedRows + " rekord(rekords) diperbarui");
});
});

Dalam contoh ini:

  1. Kita buat statement siap dengan placeholder (?) untuk nilai yang kita ingin perbarui.
  2. Kita menyediakan nilai ini dalam array.
  3. MySQL menangani pengescaping nilai ini, menjaganya dari serangan SQL injection.

Pertimbangkan statement siap seperti permainan Mad Libs - kita buat struktur dulu, lalu mengisi kosongnya kemudian!

Pembaruan JOIN

kadang-kadang, kita perlu memperbarui data di satu tabel berdasarkan informasi dari tabel lain. Itu di mana UPDATE JOIN berguna. Misalnya, kita ingin memperbarui harga buku berdasarkan kebangsaan penulisnya.

const mysql = require('mysql');

const connection = mysql.createConnection({
host: 'localhost',
user: 'yourusername',
password: 'yourpassword',
database: 'yourdatabase'
});

connection.connect((err) => {
if (err) throw err;
console.log('Terhubung ke basis data!');

let sql = `
UPDATE books b
JOIN authors a ON b.author_id = a.id
SET b.price = b.price * 1.1
WHERE a.nationality = 'British'
`;

connection.query(sql, (err, result) => {
if (err) throw err;
console.log(result.affectedRows + " rekord(rekords) diperbarui");
});
});

Itu apa yang terjadi:

  1. Kita JOIN tabel books dengan tabel authors menggunakan field author_id.
  2. Kita meningkatkan harga sebesar 10% (mengalikan dengan 1.1) untuk semua buku dimana kebangsaan penulisnya adalah 'British'.
  3. Pembaruan ini mempengaruhi banyak baris di tabel yang berhubungan dalam satu langkah!

Pertimbangkan ini seperti tari koordinasi antara dua tabel - mereka bergerak bersama-sama untuk memperbarui informasi yang kita butuhkan.

Perbandingan Metode Pembaruan

mari rangkum metode kita dalam tabel yang mudah dipahami:

Metode Keuntungan Kerugian Terbaik digunakan saat
Pembaruan Sederhana Mudah dipahami dan diimplementasikan Rentan terhadap SQL injection jika tidak hati-hati Melakukan pembaruan cepat dan tunggal
Statement Siap Lebih aman terhadap SQL injection, dapat digunakan kembali Lebih kompleks dalam penyiapan Melakukan pembaruan berulang dengan nilai yang berbeda
UPDATE JOIN Dapat memperbarui berdasarkan informasi dari tabel lain Struktur query yang lebih kompleks Memerlukan pembaruan data berdasarkan informasi terkait di tabel lain

Kesimpulan

Dan begitulah, teman-teman! Kita telah melakukan perjalanan melalui negeri Node.js dan pembaruan MySQL, dari perubahan sederhana hingga operasi multi-tabel yang kompleks. Ingat, dengan kekuatan yang besar datang tanggung jawab yang besar - selalu periksa klausa WHERE dan gunakan statement siap saat berhubungan dengan input pengguna.

Latih teknik ini, dan segera Anda akan bisa memperbarui basis data lebih cepat daripada Anda bisa mengatakan "SQL"! Tetap coding, tetap belajar, dan terutama, bersenang-senang dengannya. Sampai jumpa lagi, semoga query Anda cepat dan basis data Anda bebas bug!

Credits: Image by storyset