nodejs+mysql实现用户相关的增删改查的详细操作

yizhihongxing

首先,为了实现nodejs+mysql实现用户相关的增删改查,我们需要先安装以下两个模块:

  • mysql模块:用于连接MySQL数据库,并执行相应的查询、新增、修改、删除操作
  • express框架:用于搭建web服务器

具体实现步骤如下:

步骤一:安装必备模块

在命令行窗口(终端)执行以下命令:

npm install mysql express --save

步骤二:创建MySQL数据库

以“user_db”为例,在MySQL命令行窗口执行以下SQL语句:

CREATE DATABASE user_db;
USE user_db;

CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL,
  `email` varchar(50) NOT NULL,
  `password` varchar(50) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

步骤三:编写NodeJS代码

  1. 连接MySQL数据库
var mysql = require('mysql');
var connection = mysql.createConnection({
  host: 'localhost',  // MySQL数据库所在的服务器地址
  user: 'root',       // MySQL数据库的用户名
  password: '123456', // MySQL数据库的密码
  database: 'user_db' // 要连接的MySQL数据库名
});
connection.connect();
  1. 在Express框架下,编写API接口
var express = require('express');
var app = express();

// 在Express中使用body-parser中间件
var bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));

// 查询所有用户信息
app.get('/users', function(req, res) {
  var sql = 'SELECT * FROM users';
  connection.query(sql, function(err, result) {
    if (err) {
      console.log('[SELECT ERROR]:', err.message);
      res.send("查询失败!");
    } else {
      console.log(result);
      res.send(result);
    }
  });
});

// 根据id查询用户信息
app.get('/users/:id', function(req, res) {
  var id = req.params.id;
  var sql = 'SELECT * FROM users WHERE id = ' + id;
  connection.query(sql, function(err, result) {
    if (err) {
      console.log('[SELECT ERROR]:', err.message);
      res.send("查询失败!");
    } else {
      console.log(result);
      res.send(result);
    }
  });
});

// 添加用户信息
app.post('/users', function(req, res) {
  var name = req.body.name;
  var email = req.body.email;
  var password = req.body.password;
  var sql = 'INSERT INTO users(name, email, password) VALUES(?,?,?)';
  var params = [name, email, password];
  connection.query(sql, params, function(err, result) {
    if (err) {
      console.log('[INSERT ERROR]:', err.message);
      res.send("添加失败!");
    } else {
      console.log(result);
      res.send("添加成功!");
    }
  });
});

// 根据id更新用户信息
app.put('/users/:id', function(req, res) {
  var id = req.params.id;
  var name = req.body.name;
  var email = req.body.email;
  var password = req.body.password;
  var sql = "UPDATE users SET name=?, email=?, password=? WHERE id=?";
  var params = [name, email, password, id];
  connection.query(sql, params, function(err, result) {
    if (err) {
      console.log('[UPDATE ERROR]:', err.message);
      res.send("更新失败!");
    } else {
      console.log(result);
      res.send("更新成功!");
    }
  });
});

// 根据id删除用户信息
app.delete('/users/:id', function(req, res) {
  var id = req.params.id;
  var sql = 'DELETE FROM users WHERE id = ' + id;
  connection.query(sql, function(err, result) {
    if (err) {
      console.log('[DELETE ERROR]:', err.message);
      res.send("删除失败!");
    } else {
      console.log(result);
      res.send("删除成功!");
    }
  });
});

var server = app.listen(8080, function() {
  console.log('Node server is running..');
});

步骤四:测试API接口

可以使用Postman工具来测试API接口,以下是两个示例:

  1. 添加用户:

请求地址:http://localhost:8080/users

请求方法:POST

请求参数(body):

{
    "name": "张三",
    "email": "zhangsan@outlook.com",
    "password": "123456"
}
  1. 根据id查询用户:

请求地址:http://localhost:8080/users/1

请求方法:GET

请求参数:无

以上就是实现nodejs+mysql实现用户相关的增删改查的详细操作的攻略,希望对你有所帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:nodejs+mysql实现用户相关的增删改查的详细操作 - Python技术站

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

相关文章

  • Node实战之不同环境下配置文件使用教程

    Node实战之不同环境下配置文件使用教程 在实际的应用程序中,我们通常需要为不同的环境(如开发环境、测试环境和生产环境)编写不同的配置文件。Node.js提供了一个便捷的机制来实现这个功能。本文将给出一个完整的攻略,介绍如何在不同环境下使用配置文件。 1. 创建配置文件 首先,我们需要创建一个配置文件,其中包含我们的配置信息。我们可以将配置信息存储在一个JS…

    node js 2023年6月8日
    00
  • nodejs 整合kindEditor实现图片上传

    下面是详细的Node.js整合KindEditor实现图片上传的攻略: 一、下载KindEditor 首先到KindEditor官网下载最新版的KindEditor,解压文件到项目的public文件夹下,并将文件夹名称改为kindeditor。 二、在HTML页面中引入KindEditor 在需要使用KindEditor的HTML页面中引入相关的CSS和JS…

    node js 2023年6月8日
    00
  • node强缓存和协商缓存实战示例

    我来为您讲解 “Node强缓存和协商缓存实战示例”的攻略。 强缓存 强缓存是指在缓存数据时,客户端直接使用缓存,而不再发起请求。要使用强缓存,需要设置响应头中的 Cache-Control 或 Expires。 Cache-Control 通过设置 Cache-Control 为 max-age 或 s-maxage 可以实现强缓存。其中,max-age 是…

    node js 2023年6月8日
    00
  • Nodejs进阶:核心模块net入门学习与实例讲解

    Node.js进阶:核心模块net入门学习与实例讲解 什么是net模块 在Node.js中,net是一个核心模块,提供了基于TCP协议的网络通信功能。通过net模块,我们可以创建一个TCP服务器、构建TCP客户端,同时可以很方便地使用事件机制来进行网络通信,以便实现对请求和响应的处理。 net服务器的创建 使用net模块创建一个基本的TCP服务器非常简单。首…

    node js 2023年6月8日
    00
  • javascript object oriented 面向对象编程初步

    JavaScript 面向对象编程初步 前言 JavaScript 是一种面向对象的编程语言,面向对象编程(Object Oriented Programming)是一种编程范式,它将数据抽象为对象,对象之间相互关联,通过这种方式组织代码和数据,使得代码更加易读易懂、可维护性更高。 在 JavaScript 中,我们可以使用函数、对象和原型等方式来实现面向对…

    node js 2023年6月8日
    00
  • 详解node.js中的npm和webpack配置方法

    为了讲解“详解node.js中的npm和webpack配置方法”的完整攻略,我将分成以下几个部分: node.js中的npm webpack配置方法 示例说明 1. node.js中的npm npm是Node.js的软件包管理器,具有依赖解决方案,版本控制和包发布的功能。npm可以用来安装、发布和管理Node.js模块。它也是开发前端项目的必备工具。 以下是…

    node js 2023年6月8日
    00
  • 理解Javascript_01_理解内存分配原理分析

    理解Javascript_01_理解内存分配原理分析 背景 Javascript 是一种动态、弱类型的编程语言,使用广泛,包括 Web 开发、桌面应用、移动应用等。Javascript 的运行需要内存支持,理解内存分配原理是深入学习 Javascript 的关键。 内存基础知识 在计算机中,内存被分为若干个存储单元,每个存储单元的大小是一个字节。我们可以通过…

    node js 2023年6月8日
    00
  • React Native 的动态列表方案探索详解

    下面我将分享一份对于“React Native 的动态列表方案探索详解”的完整攻略。 React Native 的动态列表方案探索详解 背景 在 React Native 的开发中,动态列表是非常常见的场景。例如商品列表、新闻列表、推荐列表等等。本文将介绍一些常见的动态列表实现方案,并针对每种方案的优缺点进行说明。 方案一:使用 FlatList FlatL…

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