📅  最后修改于: 2023-12-03 15:17:57.840000             🧑  作者: Mango
在 NodeJS 中,我们可以使用 mysql
包来与 MySQL 数据库进行交互,而 mysql2
是其中一个较为流行的选择之一。
npm install mysql2
可以使用如下代码建立连接:
const mysql = require('mysql2');
// 创建连接池
const connection = mysql.createPool({
host: 'localhost',
user: 'root',
database: 'test',
password: 'password'
}).promise();
这里使用了 mysql2
中提供的连接池能力来提高效率。
连接上数据库后,我们就可以执行 SQL 查询了。以下是如何执行查询的代码片段:
connection.query(`SELECT * FROM articles WHERE id = ${id}`, function (error, results, fields) {
if (error) throw error;
console.log('The solution is: ', results[0]);
});
需要注意的是,如果使用的是 ES6 语法,可以使用 async/await
来简化代码:
async function getArticleById(id) {
const [rows, fields] = await connection.execute(`SELECT * FROM articles WHERE id = ${id}`);
return rows[0];
}
与执行查询类似,我们同样可以很容易地执行 SQL 更新操作。以下是如何执行更新操作的代码片段:
connection.query(`UPDATE articles SET title = '${title}' WHERE id = ${id}`, function (error, results, fields) {
if (error) throw error;
console.log('Changed ' + results.changedRows + ' row(s)');
});
同样,ES6 新特性可使代码更简洁:
async function updateArticle(id, title) {
const [results, fields] = await connection.execute(`UPDATE articles SET title = '${title}' WHERE id = ${id}`);
return results.changedRows;
}
在程序结束时,应该关闭连接,以免出现连接泄露等问题,以下是关闭连接的代码片段:
connection.end(function(err) {
if (err) throw err;
console.log('Connection ended');
});
NodeJS 与 MySQL 结合,可实现非常强大的后端开发能力。通过使用 mysql2
包,我们可以在 NodeJS 中非常方便地建立连接、执行查询和更新操作等。