Cách UPDATE dữ liệu từ database MySQL bằng Node.js
Hướng dẫn cách sử dụng Prepared Statements trong Node.js để cập nhật dữ liệu trong một bảng của database MySQL một cách an toàn và hiệu quả.
Trong bài viết này, bạn sẽ học cách kết nối đến một database MySQL và sử dụng Node.js với Prepared Statements để thực hiện câu lệnh UPDATE, từ đó cập nhật các bản ghi trong bảng theo nhiều tham số.
// Import thư viện mysql2
const mysql = require('mysql2');
// Thiết lập kết nối đến database MySQL
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'password',
database: 'test_db'
});
// Kết nối đến database
connection.connect((err) => {
if (err) {
return console.error('Lỗi kết nối:', err.message);
}
console.log('Kết nối thành công đến database MySQL.');
});
// Câu lệnh UPDATE với Prepared Statement
const updateQuery = `UPDATE students SET name = ?, age = ? WHERE id = ?`;
const params = ['Jane Doe', 25, 1];
// Thực hiện câu lệnh UPDATE
connection.execute(updateQuery, params, (err, results) => {
if (err) {
return console.error('Lỗi thực hiện câu lệnh:', err.message);
}
console.log(`Số bản ghi được cập nhật: ${results.affectedRows}`);
});
// Đóng kết nối
connection.end((err) => {
if (err) {
return console.error('Lỗi khi đóng kết nối:', err.message);
}
console.log('Đã đóng kết nối đến database MySQL.');
});
Giải thích chi tiết từng dòng code:
const mysql = require('mysql2')
: Import thư việnmysql2
để làm việc với MySQL.const connection = mysql.createConnection(...)
: Thiết lập kết nối đến database MySQL với các thông tin kết nối nhưhost
,user
,password
, vàdatabase
.connection.connect((err) => {...})
: Kết nối đến database và kiểm tra lỗi kết nối.const updateQuery = "UPDATE students SET name = ?, age = ? WHERE id = ?"
: Định nghĩa câu lệnh UPDATE với các tham số.const params = ['Jane Doe', 25, 1]
: Định nghĩa giá trị của các tham số để cập nhật dữ liệu.connection.execute(updateQuery, params, (err, results) => {...})
: Thực hiện câu lệnh UPDATE với các tham số đã được khai báo.console.log(results.affectedRows)
: In ra số lượng bản ghi được cập nhật.connection.end((err) => {...})
: Đóng kết nối đến database MySQL.
Yêu cầu hệ thống:
- Node.js phiên bản 14.x hoặc mới hơn
- Thư viện
mysql2
Cách cài đặt các thư viện để chạy được đoạn mã Node.js trên:
Sử dụng npm để cài đặt thư viện:
npm install mysql2
Lời khuyên:
- Kiểm tra kỹ thông tin kết nối như
host
,user
,password
, vàdatabase
để tránh lỗi kết nối. - Sử dụng Prepared Statements để ngăn chặn các cuộc tấn công SQL injection.