在项目中操作 MySQL

发布于:2025-03-18 ⋅ 阅读:(22) ⋅ 点赞:(0)

随着Web应用程序的发展,与数据库进行交互成为了后端开发中的核心任务之一。Node.js作为一个异步事件驱动的JavaScript运行时,非常适合构建可扩展的网络应用。而MySQL作为最流行的关系型数据库管理系统之一,自然成为了许多项目的首选数据库。本文将介绍如何在Node.js项目中操作MySQL数据库,包括安装必要的依赖、连接数据库、执行基本的CRUD操作等。

一、准备工作

安装Node.js和MySQL

首先确保你的机器上已经安装了Node.js和MySQL。你可以从Node.js官网下载并安装最新版本的Node.js,并根据需要安装MySQL数据库。

创建Node.js项目

打开终端或命令提示符,创建一个新的Node.js项目目录,并初始化npm项目:

mkdir my-node-mysql-app
cd my-node-mysql-app
npm init -y

安装mysql2模块

为了在Node.js中操作MySQL,我们需要安装mysql2模块。它提供了对MySQL数据库的完整支持,并且比原生的mysql模块性能更优。

npm install mysql2

二、连接到MySQL数据库

在项目根目录下创建一个名为db.js的文件,用于设置与MySQL数据库的连接。

const mysql = require('mysql2');

const connection = mysql.createConnection({
    host: 'localhost',
    user: 'root', // 替换为你的MySQL用户名
    password: 'password', // 替换为你的MySQL密码
    database: 'test_db' // 替换为你的数据库名称
});

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

这里我们使用mysql.createConnection方法来创建一个数据库连接。你需要替换userpassworddatabase字段为你自己的MySQL配置信息。

三、执行基本的CRUD操作

接下来,我们将展示如何使用Node.js执行MySQL的基本CRUD(Create, Read, Update, Delete)操作。

创建表

db.js中添加以下代码来创建一个简单的表:

const createTableQuery = `
CREATE TABLE IF NOT EXISTS users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100),
    age INT
)`;

connection.query(createTableQuery, (err, results) => {
    if (err) {
        console.error('Error creating table:', err);
        return;
    }
    console.log('Table created successfully');
});

插入数据

使用INSERT INTO语句向表中插入数据:

const insertQuery = `INSERT INTO users (name, age) VALUES (?, ?)`;
const values = ['Alice', 25];

connection.query(insertQuery, values, (err, results) => {
    if (err) {
        console.error('Error inserting data:', err);
        return;
    }
    console.log('Data inserted successfully');
});

查询数据

使用SELECT语句查询表中的数据:

const selectQuery = 'SELECT * FROM users';

connection.query(selectQuery, (err, results) => {
    if (err) {
        console.error('Error selecting data:', err);
        return;
    }
    console.log('Users:', results);
});

更新数据

使用UPDATE语句更新表中的数据:

const updateQuery = `UPDATE users SET age = ? WHERE name = ?`;
const updateValues = [26, 'Alice'];

connection.query(updateQuery, updateValues, (err, results) => {
    if (err) {
        console.error('Error updating data:', err);
        return;
    }
    console.log('Data updated successfully');
});

删除数据

使用DELETE语句删除表中的数据:

const deleteQuery = `DELETE FROM users WHERE name = ?`;
const deleteValue = ['Alice'];

connection.query(deleteQuery, deleteValue, (err, results) => {
    if (err) {
        console.error('Error deleting data:', err);
        return;
    }
    console.log('Data deleted successfully');
});

四、关闭数据库连接

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

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

或者,在每个操作完成后立即关闭连接:

// 示例:在查询操作完成后关闭连接
connection.query(selectQuery, (err, results) => {
    if (err) {
        console.error('Error selecting data:', err);
        return;
    }
    console.log('Users:', results);
    connection.end();
});

五、结语

感谢您的阅读!如果你有任何问题或想分享自己的经验,请在评论区留言交流!