前言:

随着JavaScript语言的快速发展,其功能越来越强大,能做的事情也越来越多。

目前,web前端工程师能够利用NodeJS搭建服务,也成为了越来越多互联网公司对前端开发的硬性要求。

本文主要介绍基于NodeJS封装的Express框架进行对MySQL关系数据库的CURD(增删改查)

环境搭建:

1.搭建Node环境:

这里不再赘述,戳这儿去安装NodeJS环境http://nodejs.cn/download/

安装完成后,在终端分别输入以下两个命令:

node -v //出现版本号即可 如:v12.18.3
npm -v //出现版本号即可 如:6.14.6

2.安装Express和MySQL相关库:

新建一个目录,在目录中创建一个js文件,例如curd.js。

在该目录中打开终端,输入以下命令,安装Express和MySQL库。

npm install mysql express --save //安装 mysql 和 express 并且注入项目依赖

另外,需要建立数据库,我这里建了个名字叫elemsn的库名,并且里边建立了一个数据表user。

在user表中:

  uid:int类型,主键自增。(表示序号)

  uname:varchar类型。(表示名字)

  uage:int类型。(表示年龄)

3.搭建一个基于Express的简单服务:

打开curd.js,有以下代码:

const mysql = require('mysql'); // 引入mysql模块
const express = require("express");  // 引入express模块
const app = express();  // 实例化express模块 用app来表示 let con = mysql.createConnection({ // 配置mysql数据库
host: 'localhost',  // 主机名
port: '3306',  // 默认端口
user: 'root',  // 连接的名字
password: 'root',  // 连接的密码
database: 'elemsn'  // 连接的数据库
}); con.connect(); // 与数据库建立连接 app.listen(8033, () => {  // 监听8033端口
console.log("8033启动中...");
});

这样一来,服务算是搭建好了,在终端输入:

node curd.js 

“curd”是我的js文件名称,后边的“.js”可省略。

按回车后,出现以下信息,就ok了。

增删改查:

注意:

  • 以下代码都用了try-catch语句,保证程序的健壮性。
  • 为了方便测试,下文利用postman接口调试软件来模拟请求。

在此之前,本人已经在user表中插入了两条数据,如下图:

1.查询数据:

//查询数据
app.get('/select', function(req, res) {
var sql = 'select * from user'; //sql查询语句:查找user表中所有数据
con.query(sql, function(err, result) { //连接数据库 传入sql语句 回调函数得到结果
try {
res.send(result) //查询结果响应给请求方
} catch (err) {
console.log("查询失败");
}
});
})

利用postman,查询user表中所有的数据:

我们可以看到响应数据,通过解析json就可以将数据渲染了。

2.增添数据:

//增加数据
app.post('/add', function(req, res) {
var sql = 'insert into user set uname=? , uage=?'; // 这边的"?"是SQL的模板语法
var params = [req.query.uname, req.query.uage] // 这边的数组参数与上边的"?"一一映射
con.query(sql, params, function(err, result) {
try {
res.send('增加数据成功');
} catch (err) {
console.log('新增数据失败');
}
});
})

利用postman,给user表增加一个25岁的Joy:

然后user表中就多了一条我们刚添加的数据。

3.修改数据:

//修改数据
app.put('/update', function(req, res) {
var sql = 'update user set uname=?, uage=? where uid=?';
var params = [req.query.uname, req.query.uage, req.query.uid]
con.query(sql, params, function(err) {
try {
res.send('修改数据成功');
} catch (err) {
console.log('修改数据失败');
}
});
})

利用postman,将我们刚刚添加的Joy年龄改为26岁:

也许表中有不止一条名叫Joy的数据,所以必须传uid,通过主键来定位修改:

4.删除数据:

//删除数据
app.delete('/delete', function(req, res) {
var sql = 'delete from user where uid= ?'
var params = [req.query.uid];
con.query(sql, params, function(err) {
try {
res.send('删除数据成功');
} catch (err) {
console.log('删除数据失败');
}
});
})

利用postman,把Joy这条数据移除:

同理,删除一条数据,必须用主键定位:

到此为止,我们完整进行了增删改查。

注意:

  :一般用post请求。

  :一般用delete请求。

  :一般用put请求。

  :一般用get请求。

  但这只是建议,如果你想用get请求进行一整系列的增删改查,一定是可行的,但并不推荐。

  

利用Express+MySQL进行简单的增删改查的更多相关文章

  1. 使用 NodeJS+Express+MySQL 实现简单的增删改查

    关于node.js暂时记录如下,以后有时间一定学习 文章来自简书,作者:sprint,2016-07 使用 Node.js + Express+MySQL 实现简单的增删改查 https://www. ...

  2. 应用node+express+mysql 实现简单的增删改查

    记录下来备忘 1.准备好webstrom编辑器,编辑器调整字体大小等在file->settings->editor下设置 注册码 来源网上: 2017.2.27更新 选择“license ...

  3. python操作三大主流数据库(2)python操作mysql②python对mysql进行简单的增删改查

    python操作mysql②python对mysql进行简单的增删改查 1.设计mysql的数据库和表 id:新闻的唯一标示 title:新闻的标题 content:新闻的内容 created_at: ...

  4. 基于nodejs+express+mysql+webstorm+html的 增删改查

    一.工具准备 Nodejs框架,WebStorm.Mysql服务.Navicat.此篇文章只讲项目的搭建过程,至于Nodejs,WebStorm.Mysql的下载.安装与配置网上资源很多,请自行查阅, ...

  5. mysql实现简单的增删改查,放入xmapp自带数据库中

    1.mysql概念:SQL-Structured Query Language,是一种特殊的语言,专用于操作关系型数据库服务器中的数据,所有的SQL语句分为四类: (1)DDL(2)DQL(3)DML ...

  6. python之MySQL学习——简单的增删改查封装

    1.增删改查封装类MysqlHelper.py import pymysql as ps class MysqlHelper: def __init__(self, host, user, passw ...

  7. 使用JDBC分别利用Statement和PreparedStatement来对MySQL数据库进行简单的增删改查以及SQL注入的原理

    一.MySQL数据库的下载及安装 https://www.mysql.com/ 点击DOWNLOADS,拉到页面底部,找到MySQL Community(GPL)Downloads,点击 选择下图中的 ...

  8. 通过JDBC进行简单的增删改查(以MySQL为例) 目录

    通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...

  9. Java通过JDBC进行简单的增删改查(以MySQL为例)

    Java通过JDBC进行简单的增删改查(以MySQL为例) 目录: 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JD ...

随机推荐

  1. redis入门指南(六)—— 集群

    写在前面 学习<redis入门指南>笔记,结合实践,只记录重要,明确,属于新知的相关内容. 配置集群 1.配置集群,集群解决了单点故障以及单台机器内存上限的问题,使用集群时,只需要将配置文 ...

  2. 设计模式:observer模式

    目标:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新 例子: class Observer //观察者 { public: virtual vo ...

  3. 解决nginx在Linux中已经正常启动,Windows端的浏览器却无法访问的问题

    一:查看Linux中nginx已经正常启动 二:查看80端口,未被占用 三:检查防火墙的问题 关闭防火墙:chkconfig iptables off //失败 暂时关闭防火墙:service ipt ...

  4. 题解 CF997E 【Good Subsegments】

    先将问题进行转化,发现满足\((max-min)-(r-l)=0\)的区间即为好区间. 对于本题这样的统计子区间的问题,先将询问离线,按右端点排序一个一个解决,固定右端点,然后通过数据结构来处理出区间 ...

  5. 从css属性和布局来说明一下,行类元素和行类块元素和块元素的区别

    //布局 inline: 如果水平宽度足够大,那么将在一行显示 inline-block: 如果水平宽度足够大,那么将在一行显示 block: 独占一行 //css属性 inline: 无法设置高度, ...

  6. 本地ES集群数据通过_reindex方式迁移到腾讯云服务器(亲测有效)

    本地ES集群数据通过_reindex方式迁移到腾讯云服务器(亲测有效) 随着业务量的增加,本地的ES集群服务器性能和磁盘空间有点不够使用,项目组考虑使用腾讯云服务器,以下是我测试的使用_reindex ...

  7. DQL_MySQL

    4.DQL(查询数据){SUPER 重点} 4.1DQL (Data Query Language : 数据查询语言) -所有的查询操作: Select 数据库中最核心的语言  create data ...

  8. 跟老刘学运维day02~新手必须掌握的Linux命令(2)

    第2章 Linux命令 1.Shell 计算机硬件:由运算器.控制器.存储器.输入/输出设备等共同组成 Shell:人与硬件的翻译官,人要想使用硬件,需要服务程序 Bash四大好处: (1)通过上下方 ...

  9. Android中Fragment生命周期和基本用法

    1.基本概念 1. Fragment是什么? Fragment是可以让你的app纵享丝滑的设计,如果你的app想在现在基础上性能大幅度提高,并且占用内存降低,同样的界面Activity占用内存比Fra ...

  10. PHP date_time_set() 函数

    ------------恢复内容开始------------ 实例 设置时间: <?php$date=date_create("2013-05-01");date_time_ ...