❤Nodejs 第四章(操作本地数据库实现删除-源码地址已开放)

简介: 【4月更文挑战第4天】❤Nodejs 第四章(操作本地数据库实现删除-源码地址已开放)在Node.js中实现删除本地数据库记录的操作。首先尝试通过SQL删除ID为8的用户,然后编写`app.delete`路由处理程序,从请求体获取ID并执行删除。。最终成功删除用户并展示了数据库的更新结果。下一节将优化增删改查功能。

❤Nodejs 第四章(操作本地数据库实现删除)

源码地址(https://gitee.com/lintaibai/NexusVue)喜欢的给个star吧

前置知识

注:get和delete是在路径中传递数据,而post和put可以在request body中传递数据

删除用户信息(/api/user--delete 删除)

先试试数据库的删除语句,删除id为8的数据

DELETE FROM user WHERE id = 8

image.png

id为8的数据我们已经删除成功!

image.png

接下来我们手写我们的删除

先在node之中手写我们的删除delete方法

// 删除用户数据 DELETE请求处理程序  
app.delete('/api/user', (req, res) => {
   
  const {
   id} = req.body; // 从请求体中获取数据
  const values = [ id];
  const sql = "DELETE FROM user WHERE id = ?";
  connection.query(sql, values, (err, results) => {
   
    console.log(err,'err');
    console.log(results,'results');
    if (err) {
   
      console.error('Error querying database:', err);
      res.status(500).json({
    error: 'Internal server error' });
      return;
    }
    res.json({
   
      code:'200',
      data:results,
    });
  });
});

接下来拿axio请求删除数据

image.png

根据id来删除用户is为5的数据

// 删除用户信息
function handleDelete(row) {
   
    console.log(row, '删除');
    let id=row.id;
    let api = "http://localhost:8888/api/user";
    let data={
   id:row.id};

    console.log(row.id,'row.id');
    axios.delete(api,data).then(res => {
   
        if (res.status == 200) {
   
            console.log(res, 'res');
            centerDialogVisible.value = false;
        }
   })
}

点击删除以后删除成功,然后我们刷新数据库数据。

image.png

我们的删除成功了,但是数据却依然存在,这是什么原因呢?
image.png

查看node控制台输出我们可以发现,原来我们压根没有拿到用户的id

image.png

这就需要提到我们一开始上面警示语句:
注:get和delete是在路径中传递数据,而post和put可以在request body中传递数据

那我们尝试将用户的id放到我们的地址上试试,node删除方法就跟改为:

// 删除用户数据 DELETE请求处理程序  
app.delete('/api/user/:id', (req, res) => {
   
  const {
   id} = req.body; // 从请求体中获取数据
  const values = [id];

  const userId = req.params.id;
  console.log(userId,'userId');

  const sql = "DELETE FROM user WHERE id = ?";
  connection.query(sql, values, (err, results) => {
   
    console.log(err,'err');
    console.log(results,'results');
    if (err) {
   
      console.error('Error querying database:', err);
      res.status(500).json({
    error: 'Internal server error' });
      return;
    }
    res.json({
   
      code:'200',
      data:results,
    });
  });
});

再来调用我们的删除

// 删除用户数据 DELETE请求处理程序  
app.delete('/api/user/:id', (req, res) => {
   
  const id = req.params.id;
  const values = [id];
  const sql = "DELETE FROM user WHERE id = ?";
  connection.query(sql, values, (err, results) => {
   
    console.log(err,'err');
    console.log(results,'results');
    if (err) {
   
      console.error('Error querying database:', err);
      res.status(500).json({
    error: 'Internal server error' });
      return;
    }
    res.json({
   
      code:'200',
      data:results,
    });
  });
});

请求发现我们地址已经成为了
http://localhost:8888/api/user/5

刷新数据库,果然我们删除已经成功了!
image.png

到这里我们已经实现了增删改查,接下来下一节就是插入一些额外针对我们的增删改查进行优化和处理。

目录
相关文章
|
JavaScript 关系型数据库 MySQL
❤Nodejs 第六章(操作本地数据库前置知识优化)
【4月更文挑战第6天】本文介绍了Node.js操作本地数据库的前置配置和优化,包括处理接口跨域的CORS中间件,以及解析请求数据的body-parser、cookie-parser和multer。还讲解了与MySQL数据库交互的两种方式:`createPool`(适用于高并发,通过连接池管理连接)和`createConnection`(适用于低负载)。
21 0
|
10天前
|
JavaScript 数据库
❤Nodejs 第七章(操作本地数据库高并发createPool方式)
【4月更文挑战第7天】本文介绍了如何使用Node.js操作本地数据库接口的优化,将之前的单次连接(createConnection)替换为支持高并发的连接池(createPool)。主要改动包括:查询、新增用户、获取用户详情、更新和删除用户的方法,都改用`connectionpool.query()`。这样改进能提升效率,适应更多并发请求。代码示例展示了如何在路由处理函数中使用连接池进行数据库操作。
79 6
❤Nodejs 第七章(操作本地数据库高并发createPool方式)
|
15天前
|
JavaScript 关系型数据库 MySQL
❤Nodejs 第三章(操作本地数据库增改查)
【4月更文挑战第3天】该文档介绍了使用Node.js和Express操作本地数据库的增删改查操作。首先,概述了RESTful API的四个基本方法:GET、PUT、DELETE和POST。然后,展示了如何查询用户列表,通过axios发送GET请求,遇到跨域问题后,在app.js中设置允许跨域。接着,添加了POST方法来新增用户,并展示了MySQL的INSERT语句。
23 5
|
12天前
|
SQL 关系型数据库 Go
《Go 简易速速上手小册》第9章:数据库交互(2024 最新版)(上)
《Go 简易速速上手小册》第9章:数据库交互(2024 最新版)
23 0
|
12天前
|
存储 SQL Go
《Go 简易速速上手小册》第9章:数据库交互(2024 最新版)(下)
《Go 简易速速上手小册》第9章:数据库交互(2024 最新版)
31 0
|
16天前
|
JavaScript 关系型数据库 MySQL
❤Nodejs 第二章(Node连接本地数据库)
【4月更文挑战第2天】本文介绍了如何使用Node.js连接本地MySQL数据库。首先,提到了在MySQL官网下载安装数据库和使用Navicat for MySQL进行数据库管理。接着,通过`yarn add mysql`在项目中安装数据库依赖。然后,创建`app.js`文件,设置数据库连接参数,并建立连接进行查询操作。遇到导入模块的错误后,修改导入方式为CommonJS语法。
35 1
|
5月前
|
存储 Java 测试技术
第一篇:从0到1了解数据库——以MapDB为例
第一篇:从0到1了解数据库——以MapDB为例
135 0
|
11月前
|
关系型数据库 MySQL 数据库
【MySQL数据库笔记 - 基础篇】(三)函数
【MySQL数据库笔记 - 基础篇】(三)函数
11623 2
|
NoSQL MongoDB 数据库
MongoDB数据库基础【完整版】:简介和常用命令、数据库&集合以及文档的增删改查、MongoDB与Python交互(附源代码)2
MongoDB数据库基础【完整版】:简介和常用命令、数据库&集合以及文档的增删改查、MongoDB与Python交互(附源代码)
155 0
MongoDB数据库基础【完整版】:简介和常用命令、数据库&集合以及文档的增删改查、MongoDB与Python交互(附源代码)2
|
存储 JSON NoSQL
MongoDB数据库基础【完整版】:简介和常用命令、数据库&集合以及文档的增删改查、MongoDB与Python交互(附源代码)
MongoDB数据库基础【完整版】:简介和常用命令、数据库&集合以及文档的增删改查、MongoDB与Python交互(附源代码)
188 0
MongoDB数据库基础【完整版】:简介和常用命令、数据库&集合以及文档的增删改查、MongoDB与Python交互(附源代码)