📜  如何将 Node.js 应用程序连接到 MySQL ?(1)

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

如何将 Node.js 应用程序连接到 MySQL?

在 Node.js 应用程序中使用 MySQL 数据库是一项常见的任务。本文将介绍如何使用 Node.js 的 mysql2 模块连接到 MySQL 数据库。

准备工作

在开始之前,确保您已经安装了 Node.js 和 MySQL 数据库。您也需要安装 mysql2 模块,在终端中运行以下命令来安装:

npm install mysql2
连接到数据库

在你的 Node.js 应用程序中,你需要使用 mysql2 模块来连接到 MySQL 数据库。首先,你需要引入 mysql2 模块:

const mysql = require('mysql2');

然后,你需要使用以下代码来连接到数据库:

const connection = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: 'password',
  database: 'database_name'
});

connection.connect((err) => {
  if (err) {
    console.error('Error connecting to database:', err);
    return;
  }

  console.log('Connected to database!');
});

在以上代码中,我们使用 mysql2createConnection() 方法创建了一个 MySQL 数据库连接,该方法接受一个对象作为参数,包含数据库连接的信息,如 hostuserpassworddatabase

我们使用 connect() 方法连接到数据库。如果连接成功,控制台将会输出 "Connected to database!"。如果连接失败,将会输出相关的错误信息。

执行 SQL 查询

连接到数据库后,您可以使用 connection.query() 方法执行 SQL 查询。以下是一个使用 connection.query() 方法查询 MySQL 数据库的示例:

connection.query('SELECT * FROM users', (err, results, fields) => {
  if (err) {
    console.error('Error executing query:', err);
    return;
  }

  console.log('Query results:', results);
});

在以上代码中,我们使用 connection.query() 方法查询了名为 users 的表。query() 方法接受两个参数:SQL 查询字符串和一个回调函数。回调函数接受三个参数:errresultsfields。如果查询成功,results 参数将包含查询结果。如果查询失败,err 参数将包含错误信息。

使用连接池连接到数据库

使用连接池可以提高应用程序的性能和可伸缩性。连接池允许你在应用程序启动时创建一组可重用的数据库连接,并从该连接池中获取连接,而不是每次需要连接到数据库时都创建新的连接。

以下是一个使用连接池连接到 MySQL 数据库的示例:

const pool = mysql.createPool({
  host: 'localhost',
  user: 'root',
  password: 'password',
  database: 'database_name',
  connectionLimit: 10
});

pool.query('SELECT * FROM users', (err, results, fields) => {
  if (err) {
    console.error('Error executing query:', err);
    return;
  }

  console.log('Query results:', results);
});

pool.end((err) => {
  if (err) {
    console.error('Error ending connection pool:', err);
    return;
  }

  console.log('Connection pool ended!');
});

在以上代码中,我们使用 mysql2createPool() 方法创建了一个连接池,该方法接受一个对象作为参数,包含连接池的配置信息,如 hostuserpassworddatabase。我们还指定了连接池的大小,即 connectionLimit

我们使用 pool.query() 方法执行 SQL 查询,并在查询完成后调用 pool.end() 方法关闭连接池。在关闭连接池之前,将不允许从该连接池中获取新的连接。

结论

在本文中,我们介绍了如何使用 Node.js 的 mysql2 模块连接到 MySQL 数据库,并执行 SQL 查询。我们还介绍了如何使用连接池连接到数据库以提高应用程序的性能和可伸缩性。希望这篇文章对你有所帮助!