Node.js - MySQL Update

Hai there, bakal bintang pengkomputeran masa depan! Hari ini, kita bakal melantikan masuk ke dunia yang menarik Node.js dan pembaruan MySQL. Jangan khawatir jika anda baru-baru ini saja memulakan penggunaan ini - saya bakal menjadi pandu yang ramah untuk anda dalam pengembaraan ini. Pada akhir panduan ini, anda akan memperbaharui pangkalan data seperti seorang professional!

Node.js - MySQL Update

Memahami Asas

Sebelum kita masuk ke dalam kod, mari berbincang tentang apa yang kita sebenarnya lakukan. Ketika kita bicara tentang "pembaruan" dalam MySQL, kita sebenarnya mengubah data yang sudah ada dalam pangkalan data kita. Itu seperti mengedit dokumen, tetapi bukanlah fail Word, kita bekerja dengan pangkalan data yang penuh dengan maklumat.

Pembaruan Simple

Mari kita mulakan dengan pembaruan yang mudah. Bayangkan anda ada pangkalan data buku kesukaan anda, dan anda mahu mengubah penarafan salah satu daripadanya.

Berikut adalah cara yang mungkin kita lakukan:

const mysql = require('mysql');

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

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

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

// Mari kita laksanakan queri ini
connection.query(sql, (err, result) => {
if (err) throw err;
console.log(result.affectedRows + " rekod(rekod) dipembarui");
});
});

mari kitauraikan ini:

  1. Kita memulakan dengan memerlukan modul MySQL dan membuat sambungan ke pangkalan data kita.
  2. Kita gunakan perintah UPDATE SQL untuk mengubah rating kepada 5 untuk buku bertajuk 'The Great Gatsby'.
  3. Kita laksanakan queri menggunakan connection.query().
  4. Jika berjaya, kita logkan berapa banyak baris yang dipengaruhi oleh pembaruan kita.

Ingat, sentiasa periksa klausa WHERE dalam pernyataan UPDATE. Tanpa itu, anda mungkin secara tidak sengaja memperbaharui setiap rekod dalam jadual anda!

UPDATE dengan Pernyataan Siap

Sekarang, mari kita naikkan permainan kita dengan pernyataan siap. Ini seperti templat yang boleh digunakan semula untuk queri SQL kita, membuat kod kita lebih selamat dan lebih efisyen.

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 pangkalan data!');

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

// Lakukan pernyataan siap ini
connection.query(sql, values, (err, result) => {
if (err) throw err;
console.log(result.affectedRows + " rekod(rekod) dipembarui");
});
});

Dalam contoh ini:

  1. Kita buat pernyataan siap dengan penanda tempat (?) untuk nilai yang kita mahu memperbaharui.
  2. Kita menyediakan nilai ini dalam array.
  3. MySQL mengambil care untuk mengecap nilai ini dengan betul, melindungi kita dari serangan SQL injection.

Buatkan pernyataan siap seperti permainan Mad Libs - kita buat struktur dahulu, lalu isikan kosongnya kemudian!

UPDATE JOIN

Kadang-kadang, kita perlu memperbaharui data di satu jadual berdasarkan maklumat dari jadual lain. Itulah di mana UPDATE JOIN berguna. mari katakan kita mahu memperbaharui harga buku berdasarkan kebangsaan pengarangnya.

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 pangkalan 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 + " rekod(rekod) dipembarui");
});
});

Ini adalah apa yang berlaku:

  1. Kita JOIN jadual books dengan jadual authors menggunakan medan author_id.
  2. Kita meningkatkan harga sebanyak 10% (mengalikan dengan 1.1) untuk semua buku di mana kebangsaan pengarangnya adalah 'British'.
  3. Pembaruan ini mempengaruhi beberapa baris di seluruh jadual yang berkaitan dalam satu langkah!

Buatkan ini seperti tari koordinasi antara dua jadual - mereka bergerak bersama-sama untuk memperbaharui maklumat yang kita perlukan.

Perbandingan Kaedah UPDATE

Mari rangkumkan kaedah kita dalam jadual yang mudah:

Kaedah Pros Cons Terbaik Digunakan Bila
UPDATE Simple Mudah difahami dan diimplementasikan Rentan kepada SQL injection jika tidak berhati-hati Melakukan pembaruan cepat, one-off
Pernyataan Siap Lebih selamat terhadap SQL injection, boleh digunakan semula Sedikit lebih kompleks untuk diatur Melakukan pembaruan berulang dengan nilai yang berbeza
UPDATE JOIN Boleh memperbaharui berdasarkan maklumat dari jadual lain Struktur queri yang lebih kompleks Memerlukan pembaruan data berdasarkan maklumat berkaitan dalam jadual lain

Kesimpulan

Dan di situ kamu, rakan-rakan! Kita telah melintasi negeri Node.js dan pembaruan MySQL, dari perubahan mudah ke operasi multi-jadual yang kompleks. Ingat, dengan kekuatan yang besar datang tanggung jawab yang besar - sentiasa periksa klausa WHERE dan gunakan pernyataan siap ketika berurusan dengan input pengguna.

Praktik teknik ini, terus belajar, dan terutamanya, bersenang-senang dengannya. Sampaijumpa lagi, moga queri anda cepat dan pangkalan data anda bebas dari bug!

Credits: Image by storyset