首页 / 韩国服务器 / 正文
Node.js连接MySQL数据库,全面指南与实践,nodejs连接MySQL数据库

Time:2025年01月06日 Read:5 评论:42 作者:y21dr45

在现代Web开发中,数据存储和管理是不可或缺的一部分,Node.js作为一个高效的后端运行环境,结合MySQL这一广泛使用的关系型数据库管理系统,能够提供强大的数据操作能力,本文将详细介绍如何在Node.js项目中连接MySQL数据库,并演示常见的增删改查(CRUD)操作。

Node.js连接MySQL数据库,全面指南与实践,nodejs连接MySQL数据库

准备工作

安装Node.js和MySQL

确保你的系统上已经安装了Node.js和npm(Node Packaged Modules),你可以通过以下命令检查是否已经安装:

node -v
npm -v

如果尚未安装,请前往[Node.js官网](https://nodejs.org)下载并安装适合你操作系统的版本。

安装MySQL数据库,你可以从[MySQL官网](https://dev.mysql.com)下载并按照说明进行安装,安装完成后,记得启动MySQL服务并记下root用户的密码。

创建Node.js项目

在你的工作目录中,通过终端命令行创建一个新的Node.js项目:

mkdir nodejs-mysql-example
cd nodejs-mysql-example
npm init -y

上述命令会创建一个新的项目文件夹并生成package.json文件,这是Node.js项目的配置文件。

安装必要的依赖

我们需要安装MySQL驱动程序来帮助Node.js与MySQL数据库进行通信,在这个例子中,我们使用mysql2库:

npm install mysql2

连接MySQL数据库

在项目中创建一个名为index.js的文件,并编写代码以实现Node.js与MySQL的连接。

const mysql = require('mysql2');
// 创建连接配置
const connection = mysql.createConnection({
  host: 'localhost',       // 数据库主机
  user: 'root',            // 数据库用户
  password: 'your_password', // 替换为你的root密码
  database: 'test'         // 数据库名称
});
// 连接到数据库
connection.connect((err) => {
  if (err) {
    console.error('Error connecting to the database:', err.message);
    return;
  }
  console.log('Connected to the MySQL database.');
});

请确保在createConnection对象中填入你实际的数据库主机、用户、密码和数据库名称。

执行SQL查询

成功连接到MySQL数据库后,接下来是执行SQL查询,如插入、查询、更新和删除操作。

1. 查询数据

下面展示如何执行一个简单的SQL查询来获取数据:

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

2. 插入数据

插入数据的示例如下:

const insertQuery = 'INSERT INTO users (name, age) VALUES (?, ?)';
const insertValues = ['John Doe', 30];
connection.query(insertQuery, insertValues, (err, result) => {
  if (err) {
    console.error('Error inserting data:', err.message);
    return;
  }
  console.log('Data inserted successfully:', result.insertId);
});

3. 更新数据

更新数据的查询如下:

const updateQuery = 'UPDATE users SET age = ? WHERE name = ?';
const updateValues = [35, 'John Doe'];
connection.query(updateQuery, updateValues, (err, result) => {
  if (err) {
    console.error('Error updating data:', err.message);
    return;
  }
  console.log('Data updated successfully:', result.affectedRows);
});

4. 删除数据

删除数据的查询如下:

const deleteQuery = 'DELETE FROM users WHERE name = ?';
const deleteValues = ['John Doe'];
connection.query(deleteQuery, deleteValues, (err, result) => {
  if (err) {
    console.error('Error deleting data:', err.message);
    return;
  }
  console.log('Data deleted successfully:', result.affectedRows);
});

关闭数据库连接

在完成所有数据库操作后,记得关闭连接以释放资源:

connection.end((err) => {
  if (err) {
    console.error('Error closing the connection:', err.message);
    return;
  }
  console.log('Database connection closed.');
});

完整代码示例

将上述所有代码整合到一起,形成一个完整的示例:

const mysql = require('mysql2');
// 创建连接配置
const connection = mysql.createConnection({
  host: 'localhost',       // 数据库主机
  user: 'root',            // 数据库用户
  password: 'your_password', // 替换为你的root密码
  database: 'test'         // 数据库名称
});
// 连接到数据库
connection.connect((err) => {
  if (err) {
    console.error('Error connecting to the database:', err.message);
    return;
  }
  console.log('Connected to the MySQL database.');
});
// 查询数据
const query = 'SELECT * FROM users';
connection.query(query, (err, results, fields) => {
  if (err) {
    console.error('Error executing query:', err.message);
    return;
  }
  console.log('Query results:', results);
});
// 插入数据
const insertQuery = 'INSERT INTO users (name, age) VALUES (?, ?)';
const insertValues = ['Jane Doe', 28];
connection.query(insertQuery, insertValues, (err, result) => {
  if (err) {
    console.error('Error inserting data:', err.message);
    return;
  }
  console.log('Data inserted successfully:', result.insertId);
});
// 更新数据
const updateQuery = 'UPDATE users SET age = ? WHERE name = ?';
const updateValues = [35, 'Jane Doe'];
connection.query(updateQuery, updateValues, (err, result) => {
  if (err) {
    console.error('Error updating data:', err.message);
    return;
  }
  console.log('Data updated successfully:', result.affectedRows);
});
// 删除数据
const deleteQuery = 'DELETE FROM users WHERE name = ?';
const deleteValues = ['Jane Doe'];
connection.query(deleteQuery, deleteValues, (err, result) => {
  if (err) {
    console.error('Error deleting data:', err.message);
    return;
  }
  console.log('Data deleted successfully:', result.affectedRows);
});
// 关闭数据库连接
connection.end((err) => {
  if (err) {
    console.error('Error closing the connection:', err.message);
    return;
  }
  console.log('Database connection closed.');
});

本文详细介绍了如何在Node.js项目中连接MySQL数据库,并通过实际代码示例展示了常见的增删改查操作,通过这些步骤,你可以轻松地在Node.js应用中集成MySQL数据库,并进行各种数据操作,希望本文能帮助你快速入门Node.js连接MySQL,并在实际的项目中应用这些知识。

标签: nodejs连接mysql 
排行榜
关于我们
「好主机」服务器测评网专注于为用户提供专业、真实的服务器评测与高性价比推荐。我们通过硬核性能测试、稳定性追踪及用户真实评价,帮助企业和个人用户快速找到最适合的服务器解决方案。无论是云服务器、物理服务器还是企业级服务器,好主机都是您值得信赖的选购指南!
快捷菜单1
服务器测评
VPS测评
VPS测评
服务器资讯
服务器资讯
扫码关注
鲁ICP备2022041413号-1