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

首先,为了实现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.js中的events.EventEmitter.listenerCount方法使用说明

    接下来我将为您提供一份“node.js中的events.EventEmitter.listenerCount方法使用说明”的完整攻略。 什么是EventEmitter? 在 Node.js 中,EventEmitter是一种非常重要的基础设施,它是 Node.js 内置的一个模块,用于实现事件驱动的编程方式。它可以监听事件,并打印日志、处理数据等等。 lis…

    node js 2023年6月8日
    00
  • node.js中的fs.writeSync方法使用说明

    Node.js中的fs.writeSync方法使用说明 什么是fs.writeSync方法 fs.writeSync方法是Node.js中的一个文件操作方法,其作用是同步地向指定文件中写入数据。与fs.write方法不同的是,fs.writeSync方法是阻塞式的,因此会阻塞程序的运行直到写入操作完成。 其语法如下: fs.writeSync(fd, dat…

    node js 2023年6月8日
    00
  • 基于Node.js的强大爬虫 能直接发布抓取的文章哦

    让我来详细讲解基于Node.js的强大爬虫并能直接发布抓取到的文章的攻略。 什么是Node.js爬虫? Node.js是一种用于构建高效、可伸缩性网络应用的工具。如果您需要从另一家网站上批量获取数据,Node.js爬虫就可以派上用场。 Node.js爬虫可以从网站上批量获取数据,然后将其处理并显示在您的网站上。 如何编写Node.js爬虫? 编写Node爬虫…

    node js 2023年6月8日
    00
  • 四叉树有损位图压缩处理程序示例

    四叉树有损位图压缩处理程序示例攻略 简介 四叉树是一种树型数据结构,它将平面划分为四个象限,每个节点都表示一个矩形区域。通过将图像中的每个像素点添加到四叉树中,可以实现对图像的压缩和处理。本文将介绍如何使用四叉树实现有损位图压缩处理程序。 程序实现步骤 将原图像转换为灰度图像; 将灰度图像转换为二值图像; 对于二值图像,将其划分为若干个相等的矩形区域; 对每…

    node js 2023年6月8日
    00
  • Node.js成为Web应用开发最佳选择的原因

    Node.js是一种开源的javascript运行时环境,可以在服务器端运行JavaScript代码,具有高效的非阻塞I/O和事件驱动模型,可以优雅地处理大量并发请求。在Web应用开发领域,Node.js已经成为了最受欢迎的选择之一。以下是Node.js成为Web应用开发最佳选择的原因及相关攻略: 原因一:性能出色 Node.js具有高效的非阻塞I/O,可以…

    node js 2023年6月8日
    00
  • Node输出日志的正确方法示例

    下面是Node输出日志的正确方法示例完整攻略。 标准输出和错误输出 在Node中输出日志有两种方式:标准输出和错误输出。标准输出是指程序运行时输出的一般信息,而错误输出是指程序运行时产生的错误信息。两者都可以用Node的console对象进行输出,具体方法如下: // 标准输出 console.log(‘This is a log message.’); /…

    node js 2023年6月8日
    00
  • Electron打包React生成桌面应用方法详解

    Electron打包React生成桌面应用方法详解 Electron 可以让你使用 JavaScript,HTML 和 CSS 构建跨平台的桌面应用程序。如果你正在使用 React 开发应用程序,并且想要将其转换为桌面应用程序,那么 Electron 是一个很好的选择。 下面是使用 Electron 打包 React 的步骤: 步骤 1:初始化 React …

    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
合作推广
合作推广
分享本页
返回顶部