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

yizhihongxing

下面是关于“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提取网址参数解决“querystring”已弃用问题

    Node.js提供了一个“querystring”模块用于解析URL查询字符串,并将其转换为JSON对象。然而,在最新的Node.js版本中,“querystring”模块已经被弃用了,取而代之的是“querystring.parse()”和“querystring.stringify()”方法。这里介绍一下如何使用这两个方法来提取网址参数。 1. 使用qu…

    node js 2023年6月8日
    00
  • 如何删除node_modules重新安装的方法步骤

    下面是删除node_modules并重新安装的方法步骤: 步骤一:打开终端 在电脑中打开终端,进入需要删除node_modules的项目文件夹目录。 步骤二:删除node_modules 在终端中输入以下命令: rm -rf node_modules 该命令将会删除项目文件夹中的node_modules文件夹及其所有内容,包括所有的依赖包。 步骤三:清除np…

    node js 2023年6月8日
    00
  • Node中完整的 node addon 实现流程

    下面将为你详细讲解 Node 中完整的 Node addon 实现流程。 1. Node addon 是什么? Node addon 是指可以使用 C++ 代码编写并且在 Node.js 中使用的扩展。它允许 Node.js 的用户在 JavaScript 中使用 C/C++ 代码实现高效的模块和操作,以及与原生代码交互,从而提高 Node.js 在高性能计…

    node js 2023年6月8日
    00
  • nodejs的压缩文件模块archiver用法示例

    下面是关于Node.js的压缩文件模块archiver的用法示例完整攻略。 什么是archiver模块? archiver是一个流式压缩模块,它可以创建和压缩zip、tar、gzip和tar.gz等压缩格式的文件。archiver的API简单,使用方便,是一个非常优秀的压缩模块。 安装archiver模块 在使用archiver模块之前,需要先安装它,可以通…

    node js 2023年6月8日
    00
  • 跟我学Nodejs(一)— Node.js简介及安装开发环境

    跟我学Node.js(一)— Node.js简介及安装开发环境 什么是Node.js Node.js是一个基于Chrome V8 JavaScript引擎的JavaScript后端开发框架,它使得JavaScript可以在服务端运行,同时也可以用于编写命令行工具。 Node.js的特点 单线程,事件驱动的非阻塞I/O模型,适合处理高并发场景。 基于事件回…

    node js 2023年6月8日
    00
  • 使用 Node.js 做 Function Test实现方法

    下面我将详细讲解“使用 Node.js 做 Function Test实现方法”的完整攻略: 1. 什么是 Function Test 1.1 Function Test 是什么 Function Test (下称 FT)是指对系统中的函数或方法进行测试,主要是在单元测试的基础上,对函数在系统中的调用流程进行测试,以确保函数在不同场景下的正常运行、稳定性以及…

    node js 2023年6月8日
    00
  • Ajax 的初步实现(使用vscode+node.js+express框架)

    下面是详细讲解“Ajax 的初步实现(使用vscode+node.js+express框架)”的完整攻略: 1. 简介 Ajax (Asynchronous JavaScript and XML) 是在不需要重新加载整个页面的情况下,能够更新部分页面的技术。本篇教程将介绍如何使用 vscode、node.js 和 express 框架实现 Ajax 功能。 …

    node js 2023年6月8日
    00
  • Node.js查找当前目录下文件夹实例代码

    Node.js是一种基于Chrome V8引擎的JavaScript运行环境,可以执行JavaScript代码,因此可以用来查找当前目录下的文件夹。下面是完整攻略及两条示例说明。 使用Node.js查找当前目录下文件夹实例代码 1. 使用fs模块 Node.js提供了fs模块,可以用来访问文件系统。通过fs模块的readdirSync()方法可以获取当前路径…

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