Cách SELECT dữ liệu từ database MySQL bằng Node.js
Hướng dẫn cách sử dụng Prepared Statements trong Node.js để truy vấn dữ liệu từ database MySQL với nhiều tham số 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 SELECT, từ đó lấy dữ liệu từ bảng trong cơ sở dữ liệu theo nhiều tham số.
// Import thư viện MySQL
const mysql = require('mysql2');
// 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 MySQL');
// Câu lệnh SELECT với Prepared Statements
const sql = 'SELECT * FROM students WHERE id = ? AND name = ?';
const params = [1, 'John Doe'];
// Thực hiện truy vấn
connection.execute(sql, params, (err, results) => {
if (err) throw err;
// In kết quả ra màn hình
console.log(results);
// Đóng kết nối
connection.end();
});
});
Giải thích chi tiết từng dòng code:
const mysql = require('mysql2');
: Import thư việnmysql2
để kết nối và truy vấn MySQL.const connection = mysql.createConnection(...)
: Thiết lập kết nối với database MySQL bằng các thông tin nhưhost
,user
,password
, vàdatabase
.connection.connect(err => {...})
: Kết nối đến database và kiểm tra lỗi nếu có.const sql = 'SELECT * FROM students WHERE id = ? AND name = ?';
: Định nghĩa câu lệnh SELECT với các tham số.const params = [1, 'John Doe'];
: Khai báo các giá trị tham số cần truyền vào câu lệnh SELECT.connection.execute(sql, params, (err, results) => {...})
: Thực hiện câu lệnh SELECT với các tham số đã được khai báo và in kết quả ra màn hình.connection.end();
: Đóng kết nối đến database.
Yêu cầu hệ thống:
- Node.js
- 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:
- 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.
- Sử dụng Prepared Statements để tránh lỗi SQL injection.
- Kiểm tra kỹ các thông tin kết nối để đảm bảo quá trình kết nối diễn ra suôn sẻ.