Cách kết nối và làm việc với cơ sở dữ liệu trong Node.js

Trong Node.js, kết nối và làm việc với cơ sở dữ liệu là một phần quan trọng trong phát triển ứng dụng. Node.js cung cấp nhiều module và thư viện cho phép bạn tương tác với các cơ sở dữ liệu phổ biến như MySQL, PostgreSQL, MongoDB và Redis. Trong bài viết này, chúng ta sẽ tìm hiểu cách kết nối và làm việc với cơ sở dữ liệu MySQL trong Node.js sử dụng module mysql2.

Bước 1: Cài đặt mysql2

Trước tiên, hãy cài đặt module mysql2 bằng lệnh sau trong terminal:

npm install mysql2

 

Node.js vs Golang: A detailed comparison - Devathon Blog

Bước 2: Kết nối với cơ sở dữ liệu

Tiếp theo, hãy tạo một file có tên là db.js (hoặc tùy chọn tên khác) trong thư mục dự án của bạn và thêm mã sau:

const mysql = require('mysql2');

// Tạo kết nối
const connection = mysql.createConnection({
host: 'localhost',
user: 'your_username',
password: 'your_password',
database: 'your_database',
});

// Kết nối tới cơ sở dữ liệu
connection.connect((err) => {
if (err) {
console.error('Lỗi kết nối: ' + err.stack);
return;
}
console.log('Kết nối thành công với ID: ' + connection.threadId);
});

// Đóng kết nối sau khi hoàn tất công việc
connection.end();

 

Trong ví dụ trên, chúng ta đã tạo một kết nối với cơ sở dữ liệu MySQL thông qua phương thức createConnection(). Bạn cần cung cấp các thông tin kết nối như host, user, passworddatabase tương ứng với cấu hình cơ sở dữ liệu của bạn.

Base64 Encoding in Node.js | Base64Encoder

Bước 3: Thực hiện các truy vấn SQL

Sau khi kết nối thành công với cơ sở dữ liệu, bạn có thể thực hiện các truy vấn SQL để lấy và cập nhật dữ liệu. Dưới đây là một ví dụ về cách thực hiện truy vấn SELECT để lấy dữ liệu từ bảng:

// Thực hiện truy vấn SELECT
connection.query('SELECT * FROM users', (err, results) => {
if (err) {
console.error('Lỗi truy vấn: ' + err.stack);
return;
}
console.log('Kết quả truy vấn:');
console.log(results);
});

 

Trong ví dụ trên, chúng ta đã thực hiện một truy vấn SELECT để lấy tất cả các dòng từ bảng “users”. Kết quả truy vấn sẽ được trả về trong biến results.

Bạn có thể sử dụng các phương thức khác của đối tượng kết nối (connection) như query() để thực hiện các loại truy vấn khác nhau như INSERT, UPDATE hoặc DELETE.

Node.js Architecture Pitfalls to Avoid | AppSignal Blog

Bước 4: Xử lý kết quả truy vấn

Khi kết quả truy vấn được trả về, bạn có thể xử lý dữ liệu bằng cách duyệt qua mảng results và truy cập vào các trường dữ liệu theo tên cột. Ví dụ:

// Xử lý kết quả truy vấn SELECT
results.forEach((row) => {
console.log('Tên: ' + row.name + ', Tuổi: ' + row.age);
});

 

Trong ví dụ trên, chúng ta duyệt qua từng dòng kết quả và truy cập vào các trường dữ liệu nameage.

Đó là cách cơ bản để kết nối và làm việc với cơ sở dữ liệu trong Node.js sử dụng module mysql2. Bạn cũng có thể tìm hiểu thêm về các phương thức và tính năng khác của module này trong tài liệu chính thức.

Node.js 18 Improves Open-Source JavaScript Framework for the Long Term |  ITPro Today: IT News, How-Tos, Trends, Case Studies, Career Tips, More

Lưu ý: Để bảo mật và tránh các lỗ hổng bảo mật, hãy luôn sử dụng các biến tham số và truy vấn tham số hóa trong các truy vấn SQL để tránh tấn công SQL injection.