答案:使用mysql2模块可高效操作mysql数据库。安装npm install mysql2,通过createConnection配置连接参数并建立连接,执行query进行查询,利用预编译语句防sql注入,推荐使用mysql/promise支持async/await语法提升代码可读性,完成插入、更新、删除等操作后及时关闭连接,生产环境应使用连接池管理资源。

在 node.js 中使用 MySQL 模块,主要是通过 mysql 或更现代的 mysql2 包来连接和操作 MySQL 数据库。下面介绍如何安装、配置并使用 mysql 模块进行常见数据库操作。
安装 mysql 模块
推荐使用 npm 安装 mysql2(功能更强大,支持 Promise 和预编译语句):
npm install mysql2
如果你坚持使用原生 mysql 模块:
npm install mysql
创建数据库连接
使用 mysql2 创建一个基本连接:
const mysql = require(‘mysql2’);
const connection = mysql.createConnection({
host: ‘localhost’,
user: ‘your_username’,
password: ‘your_password’,
database: ‘your_database’
});
connection.connect((err) => {
if (err) {
console.Error(‘连接失败:’, err);
return;
}
console.log(‘MySQL 连接成功!’);
});
执行查询操作
连接建立后,可以执行 SQL 查询:
connection.query(‘select * FROM users’, (err, results) => {
if (err) {
console.error(‘查询出错:’, err);
return;
}
console.log(‘查询结果:’, results);
});
使用预编译语句防止 SQL 注入:
const userId = 1;
connection.query(
‘SELECT * FROM users WHERE id = ?’,
[userId],
(err, results) => {
console.log(results);
}
);
使用 Promise 和 async/await(推荐)
mysql2 支持 Promise,让代码更清晰:
const mysql = require(‘mysql2/promise’);
async function getUsers() {
const connection = await mysql.createConnection({
host: ‘localhost’,
user: ‘root’,
password: ”,
database: ‘test’
});
const [rows] = await connection.execute(‘SELECT * FROM users’);
console.log(rows);
await connection.end();
}
getUsers();
插入、更新和删除数据
插入一条记录:
const sql = ‘INSERT INTO users (name, email) VALUES (?, ?)’;
connection.query(sql, [‘张三’, ‘zhang@example.com’], (err, result) => {
if (err) throw err;
console.log(‘插入成功,ID:’, result.insertId);
});
更新数据:
connection.query(
‘UPDATE users SET name = ? WHERE id = ?’,
[‘新名字’, 1],
(err, result) => {
console.log(‘更新了’, result.affectedRows, ‘行’);
}
);
基本上就这些。掌握连接、查询、参数化语句和 Promise 使用,就能在项目中高效使用 MySQL 模块了。注意用完关闭连接,生产环境建议使用连接池管理数据库资源。


