📜  nodejs mysql 连接 - Javascript (1)

📅  最后修改于: 2023-12-03 15:17:57.840000             🧑  作者: Mango

NodeJS MySQL 连接

在 NodeJS 中,我们可以使用 mysql 包来与 MySQL 数据库进行交互,而 mysql2 是其中一个较为流行的选择之一。

安装 mysql2
npm install mysql2
连接 MySQL 数据库

可以使用如下代码建立连接:

const mysql = require('mysql2');

// 创建连接池
const connection = mysql.createPool({
  host: 'localhost',
  user: 'root',
  database: 'test',
  password: 'password'
}).promise();

这里使用了 mysql2 中提供的连接池能力来提高效率。

执行 SQL 查询

连接上数据库后,我们就可以执行 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 更新操作

与执行查询类似,我们同样可以很容易地执行 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 中非常方便地建立连接、执行查询和更新操作等。