Node.js 项目中操作 MySQL 数据库的完整指南

作者:查询小屋

时间:2026-10-24

浏览:385

本文详细介绍在 Node.js 项目中如何使用 mysql 模块连接并操作 MySQL 数据库。内容涵盖模块安装、连接配置、SQL 执行测试,以及查询、插入、更新、删除和标记删除等核心 CRUD 操作的代码示例与注意事项,帮助开发者快速掌握数据库交互技能。

文章目录

在 Node.js 项目中操作 MySQL 数据库,主要包含三个核心步骤。

第一步,安装用于操作 MySQL 数据库的第三方模块(mysql)。

第二步,通过该 mysql 模块建立与 MySQL 数据库的连接。

第三步,利用 mysql 模块执行具体的 SQL 语句以完成数据操作。

在 Node.js 项目中操作 MySQL 数据库,主要包含三个核心步骤。

接下来,我们将详细讲解 mysql 模块的安装与配置过程。

首先,我们需要安装 mysql 模块。

该模块托管于 npm 平台上,是一个第三方模块,旨在为 Node.js 项目提供连接和操作 MySQL 数据库的能力。

若要在项目中使用该模块,需先运行特定命令将其安装为项目的依赖包。

npm install mysql

具体操作如下所示。

在 Node.js 项目中操作 MySQL 数据库,主要包含三个核心步骤。

安装完成后,需要对 mysql 模块进行配置。

MySQL 数据库中的初始数据状态如下图所示。

在 Node.js 项目中操作 MySQL 数据库,主要包含三个核心步骤。

在使用 mysql 模块进行数据库操作前,必须完成必要的配置,主要步骤包括初始化连接池等设置。

//导入模块
const mysql = require('mysql')
//建立与mysql数据库的联系
const db = mysql.createPool({
    host:'127.0.0.1',   //数据库的IP地址
    user:'root',        //登录数据库的账号
    password:'******',//登录数据库的密码
    database:'bear2'     //指定要操作哪个数据库
})

配置完成后,我们需要测试 mysql 模块是否能正常工作。

通过调用 db.query() 函数,指定要执行的 SQL 语句,并在回调函数中获取执行结果。

//测试mysql能否正常工作
db.query('SELECT 1',(err,results)=>{
    if(err) return console.log(err.message)
    //能够成功的执行SQL语句
    console.log(results)
})

测试结果显示模块运行正常。

在 Node.js 项目中操作 MySQL 数据库,主要包含三个核心步骤。

确认模块可用后,即可开始使用 mysql 模块对 MySQL 数据库进行实际操作。

首先介绍如何查询数据。

例如,查询 student 表中的所有数据。

db.query('SELECT * FROM STUDENT',(err,results)=>{
    //查询失败
    if(err) return console.log(err.message)
    //查询成功
    console.log(results)
})

查询执行后的结果如下。

在 Node.js 项目中操作 MySQL 数据库,主要包含三个核心步骤。

查询成功,返回的结果是一个数组。

接下来介绍如何插入数据。

向 student 表中新增数据,其中 cname 的值为 '小延',age 的值为 16。示例代码如下:

//要插入到student表中的数据对象
const student = {cname:'小延',age:16}
//待执行的SQL语句,其中英文的?表示占位符
const sqlStr = 'INSERT INTO student(cname,age)VALUES(?,?)'
//使用数组的形式,依次为占位符指定具体的值
db.query(sqlStr,[student.cname,student.age],(err,results)=>{
    if(err) return console.log(err.message) //失败
    if(results.affectedRows === 1){
        console.log('插入成功') //成功
    }
})

执行结果如下。

在 Node.js 项目中操作 MySQL 数据库,主要包含三个核心步骤。

打开数据库查看数据,具体表现如:

在 Node.js 项目中操作 MySQL 数据库,主要包含三个核心步骤。

数据插入成功。

此外,还有一种插入数据的便捷方式。

当向表中新增数据时,如果数据对象的每个属性与数据表的字段一一对应,可以通过以下方式快速插入数据:

//要插入到student表中的数据对象
const student = {cid:9,cname:'小杨',age:18,class_id:1002}
//待执行的SQL语句,其中英文的?表示占位符
const sqlStr = 'INSERT INTO student SET ?'
//直接将数据对象当做占位符的值
db.query(sqlStr,student,(err,results)=>{
    if(err) return console.log(err.message) //失败
    if(results.affectedRows === 1) console.log('插入数据成功!')
})

执行结果如下。

在 Node.js 项目中操作 MySQL 数据库,主要包含三个核心步骤。

打开数据库查看数据,具体表现如:

在 Node.js 项目中操作 MySQL 数据库,主要包含三个核心步骤。

数据插入成功。

随后介绍如何更新数据。

可以通过以下方式更新表中的数据:

//要更新的数据对象
const student = {cid: 8, cname: '小欣', age: 18, class_id: 1002}
//要执行的SQL语句
const sqlStr = 'UPDATE student SET cname=?,age=?,class_id=? WHERE cid=?'
//调用db.query()执行SQL语句的同时,使用数组依次为占位符指定具体的值
db.query(sqlStr,[student.cname,student.age,student.class_id],(err,results)=>{
    if(err) return console.log(err.message) //失败
    if(results.affectedRows === 1) {
        console.log('更新数据成功!')
    }
})

执行结果如下。

在 Node.js 项目中操作 MySQL 数据库,主要包含三个核心步骤。

打开数据库查看数据,具体表现如:

在 Node.js 项目中操作 MySQL 数据库,主要包含三个核心步骤。

数据更新成功。

同样,更新数据也有便捷方式。

在更新表数据时,如果数据对象的每个属性与数据表的字段一一对应,可以通过以下方式快速更新表数据:

const student = {cid:1,cname:'小钰',age:17,class_id:1003}
//要执行的SQL语句
const sqlStr = 'UPDATE student SET ? WHERE cid=?'
调用db.query()执行SQL语句的同时,使用数组依次为占位符指定具体的值
db.query(sqlStr,[student,student.cid],(err,results)=>{
    if(err) return console.log(err.message) //失败
    if(results.affectedRows === 1){
        console.log('数据更新成功!')  //成功
    }
})

执行结果如下。

在 Node.js 项目中操作 MySQL 数据库,主要包含三个核心步骤。

打开数据库查看数据,具体表现如:

在 Node.js 项目中操作 MySQL 数据库,主要包含三个核心步骤。

数据更新成功。

接着介绍如何删除数据。

在删除数据时,最好根据 cid 这样的唯一标识来删除对应的数据。示例如下:

//要执行的SQL语句
const sqlStr = 'DELETE FROM student WHERE cid=?'
//调用db.query()执行sql语句的同时,为占位符指定确定的值
db.query(sqlStr,3,(err,results)=>{
    if(err) return console.log(err.message)
    if(results.affectedRows === 1){  // 失败
        console.log('删除数据成功!') //成功
    }
})

执行结果如下。

在 Node.js 项目中操作 MySQL 数据库,主要包含三个核心步骤。

打开数据库查看数据,具体表现如:

在 Node.js 项目中操作 MySQL 数据库,主要包含三个核心步骤。

删除数据成功。

需要注意的是:如果 SQL 语句有多个占位符,则必须为每个占位符指定具体的值;如果 SQL 语句只有一个占位符,则可以省略数组形式。

最后介绍标记删除的概念。

使用 DELETE 语句会真正将数据从表中删除。为了保险起见,推荐使用标记删除的形式来模拟删除动作。

所谓的标记删除,就是在表中设置类似于 class_id 这样的状态字段,用来标记当前这条数据是否被删除。

当用户执行删除动作时,我们并不执行 DELETE 语句把数据删除,而是执行 UPDATE 语句,将这条数据对应的 class_id 字段标记为删除即可。

//标记删除:使用UPDATE语句代替DELETE语句;只更新数据的状态,并没有真正删除。
db.query('UPDATE student SET class_id=? WHERE cid=?',[1000,6],(err,results)=>{
    if(err) return console.log(err.message)
    if(results.affectedRows === 1){  // 失败
        console.log('标记删除成功!') //成功
    }
})

执行结果如下。

在 Node.js 项目中操作 MySQL 数据库,主要包含三个核心步骤。

打开数据库查看数据,具体表现如:

在 Node.js 项目中操作 MySQL 数据库,主要包含三个核心步骤。

标记删除成功。

以上就是 Node.js 如何在项目中操作 MySQL 的详细内容,更多关于 Node.js 操作 MySQL 的资料请关注本站其它相关文章!

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章