Để sử dụng MySQL với Node.js, bạn cần cài đặt một thư viện MySQL và thiết lập kết nối đến cơ sở dữ liệu. Dưới đây là hướng dẫn cơ bản:
Bước 1: Cài đặt thư viện MySQL
Trước hết, bạn cần cài đặt gói mysql
(hoặc mysql2
nếu muốn hỗ trợ thêm các tính năng như Promise
). Chạy lệnh sau trong terminal của bạn:
Hoặc nếu bạn muốn sử dụng mysql2
:
Bước 2: Tạo kết nối đến cơ sở dữ liệu
Dưới đây là ví dụ về cách tạo kết nối đến MySQL bằng thư viện mysql
:
const mysql = require('mysql');
// Cấu hình kết nối đến MySQL
const connection = mysql.createConnection({
host: 'localhost', // Địa chỉ máy chủ MySQL
user: 'root', // Tên người dùng MySQL
password: '', // Mật khẩu của bạn (nếu có)
database: 'mydatabase' // Tên cơ sở dữ liệu bạn muốn kết nối
});
// Kết nối đến MySQL
connection.connect((err) => {
if (err) {
console.error('Error connecting to MySQL:', err.stack);
return;
}
console.log('Connected as id ' + connection.threadId);
});
Bước 3: Thực thi các truy vấn MySQL
Sau khi kết nối, bạn có thể thực hiện các truy vấn SQL:
// Ví dụ truy vấn chọn tất cả các hàng từ bảng 'users'
connection.query('SELECT * FROM users', (error, results, fields) => {
if (error) throw error;
console.log('The users are: ', results);
});
// Đóng kết nối khi đã hoàn thành
connection.end();
Sử dụng với Promises (mysql2
)
Nếu bạn sử dụng mysql2
, bạn có thể dùng Promise
để xử lý các truy vấn một cách dễ dàng hơn:
const mysql = require('mysql2/promise');
async function connectDatabase() {
const connection = await mysql.createConnection({
host: 'localhost',
user: 'root',
password: '',
database: 'mydatabase'
});
const [rows, fields] = await connection.execute('SELECT * FROM users');
console.log(rows);
await connection.end();
}
connectDatabase().catch(err => console.error(err));
Bước 4: Xử lý lỗi
Bạn cần đảm bảo xử lý các lỗi kết nối và truy vấn, đặc biệt là với các ứng dụng thực tế. Điều này có thể thực hiện bằng cách sử dụng try-catch
trong trường hợp bạn dùng async/await
, hoặc xử lý callback trong các trường hợp không dùng Promise
.
Với cách này, bạn đã có thể sử dụng MySQL trong ứng dụng Node.js của mình một cách hiệu quả!