Cách DELETE dữ liệu từ database MySQL bằng Node.js
Hướng dẫn cách sử dụng Prepared Statements trong Node.js để xóa dữ liệu từ một bảng trong 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 DELETE, từ đó xóa các bản ghi từ bảng trong cơ sở dữ liệu theo nhiều tham số.
const mysql = require('mysql');
// Tạo 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) throw err;
console.log('Đã kết nối đến database!');
});
// Câu lệnh DELETE với Prepared Statement
const deleteQuery = 'DELETE FROM students WHERE id = ? AND name = ?';
const params = [1, 'John Doe'];
// Thực hiện câu lệnh DELETE
connection.query(deleteQuery, params, (error, results) => {
if (error) throw error;
console.log(`${results.affectedRows} bản ghi đã bị xóa.`);
});
// Đóng kết nối
connection.end();
Giải thích chi tiết từng dòng code:
const mysql = require('mysql');
: Nhập thư việnmysql
để sử dụng trong việc kết nối và tương tác với MySQL.const connection = mysql.createConnection(...)
: Tạo một kết nối đến database MySQL với các thông tin nhưhost
,user
,password
, vàdatabase
.connection.connect(...)
: Kết nối đến database và kiểm tra lỗi kết nối.const deleteQuery = 'DELETE FROM students WHERE id = ? AND name = ?';
: Định nghĩa câu lệnh DELETE với các tham số chi tiết.const params = [1, 'John Doe'];
: Khai báo các giá trị tham số cần truyền vào câu lệnh DELETE.connection.query(deleteQuery, params, ...)
: Thực hiện câu lệnh DELETE với các tham số đã được khai báo.console.log(
${results.affectedRows} bản ghi đã bị xóa.);
: In ra số lượng bản ghi đã bị xóa.connection.end();
: Đóng kết nối đến database.
Yêu cầu hệ thống:
- Node.js v14.x trở lên
- Thư viện:
mysql
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 mysql
Lời khuyên:
- Hãy đảm bảo rằng MySQL server của bạn đang chạy trước khi thực hiện kết nối.
- Kiểm tra kỹ các 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 để bảo vệ khỏi các cuộc tấn công SQL injection.