使用node.js实现对mysql数据库的增删改查

1.在项目中操作数据库的步骤

1.安装操作 MySQL 数据库的第三方模块(mysql

2.通过 mysql 模块连接到 MySQL 数据库

3.通过 mysql 模块执行 SQL 语句

2.安装与配置 mysql 模块

2.1安装 mysql 模块

mysql 模块是托管于 npm 上的第三方模块。它提供了在 Node.js 项目中连接和操作 MySQL 数据库的能力。想要在项目中使用它,需要先运行如下命令,将 mysql 安装为项目的依赖包

npm i mysql

2.2配置 mysql 模块

在使用 mysql 模块操作 MySQL 数据库之前,必须先对 mysql模块进行必要的配置,主要的配置步骤如下

// 1. 导入 mysql 模块
var mysql  = require('mysql')

// 2. 建立与 mysql 数据库的连接
var db = mysql.createPool({
  host: '127.0.0.1',  // 数据库的 ip 地址
  user: 'root', // 登录数据库的账号
  password: 'root', // 登录数据库的密码2
  database: 'my_db_01' // 指定要操作哪个数据库
})

   3.测试 mysql 模块能否正常工作

1.调用 db.query() 函数,指定要执行的 SQL 语句,通过回调函数拿到执行的结果

2.以下是示例

//检测mysql模块能否正常工作
db.query("select 1" ,(err,data)=>{
if(err)  return console.log(err.message)
//只有能打印出[RowDataPacket{"1":1}]的结果,就证明数据库链接正常
console.log(data)
})

4.创建一个服务器启动文件然后安装对应的包

//安装express包
npm i express
//安装mysql包
npm i mysql

5.我们先要创建一个数据库中的表,再对表中的数据进行增删改查

 

6.导入安装的包和一些配置项

//导入mysql
const mysql = require("mysql");
//导入express
const express = require("express");
//创建服务器实例
const app = express();
//配置解析表单数据的中间件
app.use(express.urlencoded({ extended: false }))
//配置数据库的相关信息
const db = mysql.createPool({
    host: '127.0.0.1',  // 数据库的 ip 地址
    user: 'root', // 登录数据库的账号
    password: 'root', // 登录数据库的密码
    database: "web67wxw2" //指定操作的数据库
})

 7.使用 select 语句查询数据

1.需求:查询 users 表中所有的数据

 2.案例代码

//查询数据
app.get("/books", (req, res) => {
    // 用db.query测试 mysql 模块能够正常运行
    db.query('select * from books', (err, data) => {
        // mysql 模块如果错误,err 中会返回错误信息
        if (err) return console.log(err.message)

        // 能够成功的执行 SQL 语句
        res.send({
            status: 0,
            message: "获取成功",
            data
        })
    })
})

8.使用 insert into 语句插入数据

1.需求: 向 users 表中新增数据

2.案例代码

//向数据库插入数据
app.post("/addbooks", (req, res) => {
    const data = req.body
    const sql = "insert into books set ?"
    // 用db.query测试 mysql 模块能够正常运行
    db.query(sql, data, (err, data) => {
        // mysql 模块如果错误,err 中会返回错误信息
        // console.log(data);
        if (err) return console.log(err.message)
        if (data.affectedRows !== 1) return console.log("数据插入失败");
        // 能够成功的执行 SQL 语句
        res.send({
            status: 0,
            message: "数据插入成功"
        })
    })
})

9.使用 update 语句更新数据

1.需求:更新表中的数据

2.案例代码

        

//向数据库更新数据
app.post("/updatebooks", (req, res) => {
    const data = req.body;
    // return console.log(data);
    //定义更新的sql模板
    const sql = "update books set ?  where id = ?"
    //启动sql
    db.query(sql, [data, data.id], (err, data) => {
        if (err) return console.log(err.message);
        if (data.affectedRows !== 1) return console.log("更新失败");
        res.send({
            status: 0,
            messge: "更新成功"
        })
    })
})

10.使用 delete 语句删除数据

1.在删除数据时,推荐根据 id 这样的唯一标识,来删除对应的数据

 2.注意:如果 sql 语句中有多个占位符,则必须使用数据为每个占位符指定具体的值,如果 sql 语句中只有一个占位符,则可以省略

3.案例代码

//删除数据库数据
//删除id为10的那条数据
const sql = "delete from books where id = ?"
db.query(sql, 10, (err, data) => {
    if (err) return console.log(err.message);
    //注意:执行delete语句之后,结果也是一个对象,也有affectedRows属性  
    if (data.affectedRows === 1) return console.log("删除数据成功");
})

以上就是 使用node.js实现对mysql数据库的增删改查的所有内容了,我写的代码均为案例代码,仅供参考,你们可以根据实际情况做一些修改。

  • 8
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
对于在 Node.js使用 MySQL 进行增删改查操作,你可以使用以下步骤: 1. 首先,确保你已经安装了 `mysql` 模块。你可以通过在终端中运行以下命令来安装它: ``` npm install mysql ``` 2. 在你的 Node.js 代码中,引入 `mysql` 模块: ```javascript const mysql = require('mysql'); ``` 3. 创建与数据库的连接: ```javascript const connection = mysql.createConnection({ host: '数据库主机名', user: '用户名', password: '密码', database: '数据库名称' }); connection.connect((err) => { if (err) { console.error('数据库连接失败:', err); return; } console.log('数据库连接成功!'); }); ``` 4. 执行 SQL 查询语句: ```javascript const sql = 'SELECT * FROM 表名'; connection.query(sql, (err, results) => { if (err) { console.error('查询失败:', err); return; } console.log('查询结果:', results); }); ``` 5. 执行 SQL 插入、更新或删除语句: ```javascript const insertSql = 'INSERT INTO 表名 (列1, 列2) VALUES (?, ?)'; const insertValues = ['值1', '值2']; connection.query(insertSql, insertValues, (err, result) => { if (err) { console.error('插入失败:', err); return; } console.log('插入成功,插入的行数:', result.affectedRows); }); const updateSql = 'UPDATE 表名 SET 列1 = ? WHERE 列2 = ?'; const updateValues = ['新值', '条件值']; connection.query(updateSql, updateValues, (err, result) => { if (err) { console.error('更新失败:', err); return; } console.log('更新成功,更新的行数:', result.affectedRows); }); const deleteSql = 'DELETE FROM 表名 WHERE 列 = ?'; const deleteValues = ['条件值']; connection.query(deleteSql, deleteValues, (err, result) => { if (err) { console.error('删除失败:', err); return; } console.log('删除成功,删除的行数:', result.affectedRows); }); ``` 6. 最后,记得在完成操作后关闭数据库连接: ```javascript connection.end((err) => { if (err) { console.error('关闭数据库连接失败:', err); return; } console.log('数据库连接已关闭!'); }); ``` 这样,你就可以在 Node.js使用 MySQL 进行增删改查操作了。记得将上述代码中的主机名、用户名、密码、数据库名称、表名、列名、条件值等根据你的实际情况进行替换。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值