📜  Node.js 将 Mysql 与 Node 应用程序连接起来(1)

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

Node.js 将 MySQL 与 Node 应用程序连接起来

简介

MySQL 是一种常用的开源关系型数据库管理系统,Node.js 是基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 的出现使得开发者可以使用 JavaScript 编写服务器端代码,也使得 JavaScript 处理数据变得更加容易。本文将介绍如何使用 Node.js 将 MySQL 和 Node 应用程序进行连接。

安装依赖项

在 Node.js 中使用 MySQL,需要先安装相应的 Node.js 第三方模块。可以使用以下命令进行安装:

npm install mysql
连接 MySQL 数据库

在 Node.js 中连接 MySQL 数据库,需要先创建与数据库的连接。可以使用以下代码进行连接:

const mysql = require('mysql');

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

connection.connect((err) => {
  if (err) {
    console.error('error connecting: ' + err.stack);
    return;
  }

  console.log('connected as id ' + connection.threadId);
});

在以上代码中,通过 mysql.createConnection 方法创建了一个连接对象,包含了数据库的连接信息。然后通过 connection.connect() 方法进行连接,并处理连接过程中出现的错误和成功连接后的回调。

查询数据库

连接成功后,就可以对 MySQL 数据库进行查询了。以下是一个简单的查询示例:

connection.query('SELECT * FROM users', (err, rows) => {
  if (err) throw err;

  console.log('Data received from Db:\n');
  console.log(rows);
});

在以上代码中,通过 connection.query 方法进行查询,并处理查询过程中出现的错误和查询结果的回调。SELECT * FROM users 表示查询名为 users 的表的所有记录。

插入数据

除了查询数据,也可以往 MySQL 数据库中插入数据。以下是一个简单的插入示例:

const user = { name: 'John', age: 25 };

connection.query('INSERT INTO users SET ?', user, (err, res) => {
  if (err) throw err;

  console.log('Last insert ID:', res.insertId);
});

在以上代码中,通过 connection.query 方法进行插入,并处理插入过程中出现的错误和插入结果的回调。INSERT INTO users SET ? 表示插入数据到名为 users 的表中,? 会被后面的参数 user 替换。

更新数据

也可以对 MySQL 数据库中的数据进行更新。以下是一个简单的更新示例:

const id = 1,
      newAge = 26;

connection.query(
  'UPDATE users SET age = ? WHERE id = ?',
  [newAge, id],
  (err, res) => {
    if (err) throw err;

    console.log(`Changed ${res.changedRows} rows`);
  }
);

在以上代码中,通过 connection.query 方法进行更新,并处理更新过程中出现的错误和更新结果的回调。UPDATE users SET age = ? WHERE id = ? 表示更新名为 users 的表中,指定 id 的行的 age 字段,? 会被后面的参数 [newAge, id] 替换。

删除数据

也可以从 MySQL 数据库中删除数据。以下是一个简单的删除示例:

const id = 1;

connection.query(
  'DELETE FROM users WHERE id = ?',
  [id],
  (err, res) => {
    if (err) throw err;

    console.log(`Deleted ${res.affectedRows} rows`);
  }
);

在以上代码中,通过 connection.query 方法进行删除,并处理删除过程中出现的错误和删除结果的回调。DELETE FROM users WHERE id = ? 表示删除名为 users 的表中,指定 id 的行,? 会被后面的参数 [id] 替换。

关闭连接

使用完 MySQL 数据库后,需要关闭连接。以下是一个关闭连接的示例:

connection.end((err) => {
  if (err) throw err;

  console.log('Connection closed');
});

在以上代码中,通过 connection.end() 方法关闭连接,并处理关闭过程中出现的错误和关闭完成后的回调。

结论

通过以上步骤,Node.js 开发者可以使用 Node.js 将 MySQL 和 Node 应用程序进行连接,进行数据的查询、插入、更新和删除。