使用 Node.js 完成 MySQL 增删改查操作

88 阅读2分钟

使用 Node.js 完成 MySQL 增删改查操作

引言

Node.js 的异步特性和事件驱动模型使其成为处理数据库操作的理想选择。通过使用 MySQL 的 Node.js 客户端库,我们可以轻松地与 MySQL 数据库进行交互。

环境准备

在开始之前,请确保你已经安装了 Node.js 和 MySQL。你还需要安装 mysqlmysql2 包,这是 MySQL 的官方 Node.js 客户端库。

npm install mysql
# 或者
npm install mysql2

连接到 MySQL

首先,我们需要创建一个数据库连接。

const mysql = require('mysql');

// 创建连接池
const pool = mysql.createPool({
  host: 'localhost',
  user: 'yourUsername',
  password: 'yourPassword',
  database: 'yourDatabase'
});

增(Create)

使用 INSERT 语句添加新记录。

const addData = (data, callback) => {
  const sql = 'INSERT INTO your_table_name SET ?';
  pool.query(sql, data, (error, results, fields) => {
    if (error) throw error;
    callback(results);
  });
};

删(Delete)

使用 DELETE 语句删除记录。

const deleteData = (id, callback) => {
  const sql = 'DELETE FROM your_table_name WHERE id = ?';
  pool.query(sql, [id], (error, results, fields) => {
    if (error) throw error;
    callback(results);
  });
};

改(Update)

使用 UPDATE 语句更新记录。

const updateData = (id, data, callback) => {
  const sql = 'UPDATE your_table_name SET ? WHERE id = ?';
  pool.query(sql, [data, id], (error, results, fields) => {
    if (error) throw error;
    callback(results);
  });
};

查(Read)

使用 SELECT 语句查询记录。

const fetchData = (callback) => {
  const sql = 'SELECT * FROM your_table_name';
  pool.query(sql, (error, results, fields) => {
    if (error) throw error;
    callback(results);
  });
};

错误处理

在进行数据库操作时,错误处理是非常重要的。确保你的回调函数能够处理可能发生的错误。

异步/等待模式

如果你使用的是 ES7 或更高版本的 JavaScript,可以使用 async/await 来简化异步代码。

async function performDatabaseOperation() {
  try {
    const results = await new Promise((resolve, reject) => {
      pool.query('SELECT * FROM your_table_name', (error, results) => {
        if (error) reject(error);
        else resolve(results);
      });
    });
    console.log(results);
  } catch (error) {
    console.error(error);
  }
}

结论

Node.js 结合 MySQL 提供了强大的数据库操作能力。通过使用 mysqlmysql2 包,你可以轻松地实现增删改查等基本数据库操作。记住,良好的错误处理和异步代码管理是保证应用稳定性的关键。