利用Express+MySQL进行简单的增删改查
前言:
随着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进行简单的增删改查的更多相关文章
- 使用 NodeJS+Express+MySQL 实现简单的增删改查
关于node.js暂时记录如下,以后有时间一定学习 文章来自简书,作者:sprint,2016-07 使用 Node.js + Express+MySQL 实现简单的增删改查 https://www. ...
- 应用node+express+mysql 实现简单的增删改查
记录下来备忘 1.准备好webstrom编辑器,编辑器调整字体大小等在file->settings->editor下设置 注册码 来源网上: 2017.2.27更新 选择“license ...
- python操作三大主流数据库(2)python操作mysql②python对mysql进行简单的增删改查
python操作mysql②python对mysql进行简单的增删改查 1.设计mysql的数据库和表 id:新闻的唯一标示 title:新闻的标题 content:新闻的内容 created_at: ...
- 基于nodejs+express+mysql+webstorm+html的 增删改查
一.工具准备 Nodejs框架,WebStorm.Mysql服务.Navicat.此篇文章只讲项目的搭建过程,至于Nodejs,WebStorm.Mysql的下载.安装与配置网上资源很多,请自行查阅, ...
- mysql实现简单的增删改查,放入xmapp自带数据库中
1.mysql概念:SQL-Structured Query Language,是一种特殊的语言,专用于操作关系型数据库服务器中的数据,所有的SQL语句分为四类: (1)DDL(2)DQL(3)DML ...
- python之MySQL学习——简单的增删改查封装
1.增删改查封装类MysqlHelper.py import pymysql as ps class MysqlHelper: def __init__(self, host, user, passw ...
- 使用JDBC分别利用Statement和PreparedStatement来对MySQL数据库进行简单的增删改查以及SQL注入的原理
一.MySQL数据库的下载及安装 https://www.mysql.com/ 点击DOWNLOADS,拉到页面底部,找到MySQL Community(GPL)Downloads,点击 选择下图中的 ...
- 通过JDBC进行简单的增删改查(以MySQL为例) 目录
通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...
- Java通过JDBC进行简单的增删改查(以MySQL为例)
Java通过JDBC进行简单的增删改查(以MySQL为例) 目录: 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JD ...
随机推荐
- onehot编码检测
‘’16bits位宽寄存器,用五(六也行)级逻辑判断其中有15个0和1个1‘’,这么道题目,面试无数,几乎没有人能答出来,连给我衍生‘’14个0和2个1‘’的机会都没有. 今天的问题来源于知乎,某大牛 ...
- 搭建kubernetes集群
什么是Kubernetes? Kubernetes(k8s)是自动化容器操作的开源平台,这些操作包括部署,调度和节点集群间扩展.如果你曾经用过Docker容器技术部署容器,那么可以将Docker看成K ...
- Monster Audio 使用教程 (八) Vst3 使用侧链功能
Monster Audio对 Vst3 插件支持侧链功能,例如,我们插入一个Waves C1 comp Stereo 效果器 然后在侧链处,就可以选择任意一个音轨的信号,作为侧链信号源. 注意,只有v ...
- Linux平台下SSD的TRIM指令的最佳使用方式(不区别对待NVMe)
SSD写数据会出现什么问题 SSD读写的单位不是位,而是一个块.如果要改变这个块中的一位,首先要将整个块擦写成1,然后再写入更新的数据. 为了解决擦写块的低效,SSD的策略是将需要改写的块,读取出来, ...
- 21天学通C++(C++程序的组成部分)
C++程序被组织成类,而类由成员函数和成员变量组成. 本章学习: 1)C++程序的组成部分. 2)各部分如何协同工作. 3)函数及其用途. 4)基本输入输出操作. C++程序划分为两个部分,以#大头的 ...
- 中科大数分教材:用阶乘倒数和计算e值的误差和e是无理数的证明,用到误差计算
\(e=lim_{n \to \infty}e_{n}(1+\frac{1}{n})^n\\\) \(=\lim_{n \to \infty}(\frac{1}{0!}+\frac{1}{1!}+\f ...
- 重学c#系列——非托管实例(五)
前言 托管资源到是好,有垃圾回收资源可以帮忙,即使需要我们的一些小小的调试来优化,也是让人感到欣慰的.但是非托管资源就显得苍白无力了,需要程序员自己去设计回收,同样有设计的地方也就能体现出程序员的设计 ...
- onepill服务端
运行git搞崩掉了重新创建... 1.新建SpringBoot项目 应该就这些 2. 使用的框架: 数据库:Spring Date JPA Service+Dao+Controller OKHttpC ...
- C#中Session的用法详细介绍
Session模型简介 在学习之前我们会疑惑,Session是什么呢?简单来说就是服务器给客户端的一个编号.当一台WWW服务器运行时,可能有若干个用户浏览正在运正在这台服务器上的网站.当每 个用户首次 ...
- JavaFX让UI更美观-CSS样式
相对于Swing来说,JavaFX在UI上改善了很多,不仅可以通过FXML来排版布局界面,同时也可以通过CSS样式表来美化UI. 其实在开发JavaFX应用的时候,可以将FXML看做是HTML,这样跟 ...