Node.js中如何连接与操作MySQL数据库

在Node.js中引用MySQL数据库,主要通过安装并利用mysqlmysql2这类第三方npm包来实现数据库的连接与操作,以下将详细介绍具体步骤和关键方法,帮助开发者快速上手。

node如何引用mysql,Node高效集成MySQL数据库

安装MySQL驱动包
在Node.js项目中安装MySQL驱动,推荐使用mysql2包,因为它性能更好且支持Promise,在项目根目录下运行以下命令:

npm install mysql2

建立数据库连接
使用mysql2创建连接池或单个连接,以提高效率和资源管理,以下是一个连接池的示例:

const mysql = require('mysql2/promise');
const pool = mysql.createPool({
  host: 'localhost',      // 数据库主机地址
  user: 'root',           // 数据库用户名
  password: 'yourpassword', // 数据库密码
  database: 'testdb',     // 数据库名称
  waitForConnections: true,
  connectionLimit: 10,    // 连接池最大连接数
  queueLimit: 0
});

执行SQL查询
通过连接池执行查询,推荐使用异步方式(如async/await)处理操作,以下是一个查询数据的例子:

async function queryData() {
  try {
    const [rows] = await pool.query('SELECT * FROM users');
    console.log(rows); // 输出查询结果
  } catch (error) {
    console.error('查询失败:', error);
  }
}
queryData();

插入与更新数据
对于数据修改操作,可以使用参数化查询来防止SQL注入:

async function insertUser(name, email) {
  try {
    const [result] = await pool.query(
      'INSERT INTO users (name, email) VALUES (?, ?)',
      [name, email]
    );
    console.log('插入成功,ID:', result.insertId);
  } catch (error) {
    console.error('插入失败:', error);
  }
}

关闭连接
使用连接池时,通常无需手动关闭单个连接,但可在应用退出时关闭整个连接池:

// 应用结束时关闭连接池
process.on('exit', () => {
  pool.end();
});

关键要点总结

  • 驱动选择:优先使用mysql2包,它支持Promise和更高效的性能。
  • 连接管理:推荐使用连接池(createPool)来管理数据库连接,避免频繁开闭连接带来的开销。
  • 安全查询:务必使用参数化查询(如?占位符)来防范SQL注入攻击。
  • 错误处理:通过try-catch或.catch()捕获异步操作中的错误,确保应用稳定性。

通过以上步骤,开发者可以轻松在Node.js项目中集成MySQL,实现数据的持久化存储与操作,结合异步编程和连接池优化,能够构建高效、安全的数据库交互层。

未经允许不得转载! 作者:HTML前端知识网,转载或复制请以超链接形式并注明出处HTML前端知识网

原文地址:https://www.html4.cn/10336.html发布于:2026-08-12