Node.js+Express+Mysql 实现增删改查

下面是关于“Node.js+Express+Mysql 实现增删改查”的完整攻略:

一、准备工作

  1. 安装Node.js和npm(注:npm在安装Node.js时会自动安装)。
  2. 安装Express:在命令行中输入 npm install express --save 安装Express并将其添加到依赖项中。
  3. 安装Mysql:在命令行中输入 npm install mysql --save 安装Mysql并将其添加到依赖项中。
  4. 在MySQL数据库中创建相应的数据表。

二、建立连接

在app.js文件中建立与Mysql数据库的连接:

const mysql = require('mysql');

const connection = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: 'password',
  database: 'test'
});

connection.connect(function(err) {
  if (err) {
    console.error('error connecting: ' + err.stack);
    return;
  }
  console.log('connected as id ' + connection.threadId);
});

// 建立数据库连接
module.exports = connection;

三、实现增删改查

在routes/index.js文件中实现增删改查:

const express = require('express');
const router = express.Router();
const connection = require('../app.js');

// 添加用户
router.post('/addUser', function(req, res, next) {
  const user = req.body;
  const {name, age, email} = user;

  const addUserSql = `INSERT INTO users (name, age, email) VALUES ('${name}', ${age}, '${email}')`;

  connection.query(addUserSql, function (error) {
    if (error) {
      console.error(error);
      res.send({code: 1, msg: '添加用户失败'});
    } else {
      res.send({code: 0, msg: '添加用户成功'});
    }
  });
});

// 删除用户
router.post('/deleteUser', function(req, res, next) {
  const user = req.body;
  const {id} = user;

  const deleteUserSql = `DELETE FROM users WHERE id=${id}`;

  connection.query(deleteUserSql, function (error) {
    if (error) {
      console.error(error);
      res.send({code: 1, msg: '删除用户失败'});
    } else {
      res.send({code: 0, msg: '删除用户成功'});
    }
  });
});

// 更新用户
router.post('/updateUser', function(req, res, next) {
  const user = req.body;
  const {id, name, age, email} = user;

  const updateUserSql = `UPDATE users SET name='${name}', age=${age}, email='${email}' WHERE id=${id}`;

  connection.query(updateUserSql, function (error) {
    if (error) {
      console.error(error);
      res.send({code: 1, msg: '更新用户失败'});
    } else {
      res.send({code: 0, msg: '更新用户成功'});
    }
  });
});

// 查找用户
router.post('/findUser', function(req, res, next) {
  const user = req.body;
  const {name} = user;

  const findUserSql = `SELECT * FROM users WHERE name='${name}'`;

  connection.query(findUserSql, function (error, results) {
    if (error) {
      console.error(error);
      res.send({code: 1, msg: '查找用户失败'});
    } else {
      res.send({code: 0, msg: '查找用户成功', data: results});
    }
  });
});

module.exports = router;

四、示例说明

示例一:添加用户

在前端页面中输入用户信息并点击“提交”按钮。

var addUser = function () {
  var name = document.getElementById('name').value;
  var age = document.getElementById('age').value;
  var email = document.getElementById('email').value;

  fetch('/addUser', {
    method: 'POST',
    headers: {'Content-Type': 'application/json'},
    body: JSON.stringify({name, age, email})
  }).then(function(res) {
    return res.json();
  }).then(function(res) {
    alert(res.msg);
  });
}

后端接收到请求并将用户信息插入到MySQL数据库中。

示例二:查找用户

在前端页面中输入用户姓名并点击“搜索”按钮。

var findUser = function () {
  var name = document.getElementById('name').value;

  fetch('/findUser', {
    method: 'POST',
    headers: {'Content-Type': 'application/json'},
    body: JSON.stringify({name})
  }).then(function(res) {
    return res.json();
  }).then(function(res) {
    if(res.code === 0) {
      var data = res.data;
      var result = '';

      for(var i = 0; i < data.length; i++) {
        result += `${data[i].name},${data[i].age}岁,${data[i].email}\n`;
      }

      alert(res.msg + result);
    } else {
      alert(res.msg);
    }
  });
}

后端根据用户姓名,在MySQL数据库中查找匹配的用户信息并返回给前端页面。

以上就是使用Node.js+Express+Mysql实现增删改查的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Node.js+Express+Mysql 实现增删改查 - Python技术站

(0)
上一篇 2023年6月8日
下一篇 2023年6月8日

相关文章

  • 轻松创建nodejs服务器(1):一个简单nodejs服务器例子

    下面是“轻松创建nodejs服务器(1):一个简单nodejs服务器例子”的完整攻略,分为以下几个步骤: 第一步:安装nodejs 在开始创建nodejs服务器之前,需要先安装nodejs。你可以在官网上下载相应的安装包,或选择使用包管理器进行安装。这里我们以使用npm进行安装为例,执行以下命令: npm install node 第二步:创建一个空文件夹并…

    node js 2023年6月8日
    00
  • Vue指令工作原理实现方法

    Vue 指令是 Vue 模板中的特殊语法,它们以 v- 开头,用于对元素、组件或者DOM元素进行特定的绑定和操作。例如,v-for 用于循环渲染列表数据,v-if 用于条件渲染,v-bind 用于动态绑定属性等等。 Vue 指令的工作原理是基于 Vue.js 内部解析模板时实现的。当 Vue.js 开始执行编译模板的过程时,会将模板转换为虚拟 DOM 树,并…

    node js 2023年6月8日
    00
  • node.js中get和post接口教程

    Node.js中Get和Post接口教程 在Node.js中,我们可以使用HTTP模块来创建接口并处理HTTP请求和响应。本教程将演示如何使用Node.js创建Get和Post请求的接口。 Get请求 Get请求通常用于获取数据。在Node.js中,您可以使用req.query获取查询字符串中的参数,并使用res.send方法将数据作为响应发送回客户端。 以…

    node js 2023年6月8日
    00
  • JavaScript内存泄漏的处理方式

    请您先了解JavaScript内存泄漏的概念: JavaScript是一种自动内存管理语言,这意味着开发人员不需要手动分配和释放内存。相反,JavaScript解释器在运行时会自动跟踪和管理内存。然而,JavaScript程序员仍然需要避免内存泄漏。 内存泄漏指的是不再有用的内存一直保留在内存中,不能被垃圾回收机制回收,最终会导致内存耗尽。一旦内存耗尽,应用…

    node js 2023年6月8日
    00
  • Node.js 子线程Crash 问题的排查方法

    下面是关于”Node.js 子线程Crash 问题的排查方法”的完整攻略: 1. 介绍 Node.js 作为一个单线程的运行环境,它主要通过异步 IO 和事件驱动来实现多任务并发处理。但是,Node.js 还提供了一种利用子线程来执行 CPU 密集型任务的方法,这就是利用 Node.js 的 cluster 模块或第三方库如 pm2 来创建子进程。 但是,当…

    node js 2023年6月8日
    00
  • 深入理解Node.js中的进程管理

    深入理解Node.js中的进程管理 Node.js是一种单线程、异步的JavaScript运行环境,但在实际应用中往往需要处理大量并发请求。为了满足这一需求,Node.js提供了多进程管理机制,允许开发者使用多个进程以最大程度地利用服务器资源。本文将介绍Node.js中的进程管理机制以及如何应用它来提升性能。 线程与进程的概念 在开始介绍Node.js的多进…

    node js 2023年6月8日
    00
  • nodejs编写bash脚本的终极方案分享

    我来给你详细讲解一下“nodejs编写bash脚本的终极方案分享”的完整攻略。 1. 前言 在介绍nodejs编写bash脚本的终极方案之前,我们需要先了解一些基础知识。 bash是一种命令行操作系统的壳(shell),它提供了一种交互式的界面,我们可以在命令行中直接输入指令,然后执行操作。而nodejs是一种运行在服务器端的JavaScript环境,它通过…

    node js 2023年6月8日
    00
  • nodejs使用socket5进行代理请求的实现

    下面我就来详细讲解Node.js使用Socks5进行代理请求的实现攻略。 一、什么是Socks5? Socks5代理是一种网络协议,它可以在客户端和服务器之间建立代理通道,通过这个通道可以实现隧道穿越。Socks5协议是目前使用范围最广泛的代理协议之一,它支持TCP及UDP协议,并可以提供认证及AES-256等加密功能。 二、使用Node.js实现Socks…

    node js 2023年6月8日
    00
合作推广
合作推广
分享本页
返回顶部