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日

相关文章

  • Node.js的Express框架使用上手指南

    Node.js的Express框架是一个灵活、快速的web应用框架,广泛应用于Node.js的web应用开发中。下面是一个简单的基于Express的web应用示例: 首先,我们要确保Node.js已经正确安装,可以通过在终端输入以下命令来检查: node -v 然后,我们可以在终端中输入以下命令来安装Express框架: npm install expres…

    node js 2023年6月8日
    00
  • nodejs项目windows下开机自启动的方法

    以下是详细讲解Node.js项目Windows下开机自启动的方法攻略: 方案一:使用node-windows模块 安装node-windows模块 npm install -g node-windows 在Node.js项目中引入node-windows模块 const winService = require(‘node-windows’).Service…

    node js 2023年6月8日
    00
  • 简单了解JavaScript中常见的反模式

    简单了解JavaScript中常见的反模式 什么是反模式 反模式(Antipattern)指的是在软件设计中,常见但具有负面影响的实践方法或设计决策。这些做法可能会导致程序难以维护、升级和扩展,甚至会导致安全漏洞、性能问题等。 在JavaScript开发中,我们也会遇到一些常见的反模式。下面是一些常见的反模式及其解决方法。 1. “全局变量污染”反模式 “全…

    node js 2023年6月8日
    00
  • Node.JS中的模块、exports和module讲解

    Node.js中的模块、exports和module是Node.js中非常重要的概念,可以帮助我们编写可重用的代码。在本篇攻略中,我们主要讲解Node.js中的模块系统和如何使用exports和module来导出和引入模块。 Node.js中的模块 Node.js中的模块是独立的代码单元,每个模块都定义了自己的命名空间。可以通过require函数将模块导入到…

    node js 2023年6月8日
    00
  • React服务端渲染(总结)

    React服务端渲染是指把React组件在服务端渲染成HTML字符串,然后再把这些HTML字符串发送给客户端展示,这种渲染方式能够在很大程度上提升页面的渲染速度和SEO友好性。 下面我们将详细讲解React服务端渲染的完整攻略,它主要包括以下步骤: 步骤一:安装依赖 首先,我们需要安装React和React DOM以及相关的babel插件: npm inst…

    node js 2023年6月8日
    00
  • nodejs中art-template模板语法的引入及冲突解决方案

    首先,我们需要了解什么是Art-template。Art-template是一款高性能JavaScript模板引擎,它在Node.js和浏览器端均可使用。它的语法简洁易用,并具有扩展性强、速度快等特点,因此被广泛应用于Web开发中。 在Node.js中,我们可以通过npm安装Art-template模块,命令如下: npm install art-templ…

    node js 2023年6月8日
    00
  • Nodejs进阶之服务端字符编解码和乱码处理

    Nodejs进阶之服务端字符编解码和乱码处理 字符编解码 在服务端处理字符编解码时,需要注意以下几个方面: 请求头中的字符编码 浏览器发送请求时,会将当前页面的字符编码信息放在请求头中,服务端在解析请求时需注意此处的字符编码信息。 示例代码: const http = require(‘http’); const server = http.createSe…

    node js 2023年6月8日
    00
  • js自定义回调函数

    下面是关于JS自定义回调函数的详细讲解攻略。 什么是回调函数? 回调函数是一种高级的JavaScript技术。回调函数是一种特殊类型的函数,它有两个特性: 回调函数作为参数传递给另一个函数。 回调函数在另一个函数完成操作后被调用。 回调函数使我们可以将代码分解为可重用的模块,这些模块可以在不同的上下文中调用。 JS自定义回调函数的写法 自定义回调函数是一种可…

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