Node如何后台数据库使用增删改查功能


Posted in Javascript onNovember 21, 2019

 这篇文章主要介绍了Node如何后台数据库使用增删改查功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

无论node还是java增删改查都是一样的原理,变得是配合框架使用时候有简便方法而已。

优化:为了维护方便这里我们把sql语句提出来放在一个对象里面,只有要改变的参数放在请求接口的router里面

首先在routes文件夹里面创建userSql.js,在里面创建一个对象,再导出

var SQL = {
  inset:{// 增
    actorIn:'INSERT INTO actor(first_name,last_name) VALUES(?,?)' // actor是数据库的表名 first_name,last_name是其中的两个字段名,id一般设为自增
  },
  delete:{// 删
    actorDel:'DELETE FROM actor where actor_id = ?' // 一般唯一标识是id并且自增,我改为了actor_id(最好不要变)
  },
  change:{// 改
    actorCh:'UPDATE actor SET first_name=?,last_name=? WHERE actor_id=?' //修改唯一标识actor_id为几的first_name和last_name值
  },
  check:{// 查
    actorCk:'SELECT * FROM actor', //查询所有使用*,actor是表名
    actorId:'SELECT * FROM actor WHERE actor_id=?', //查询唯一标识actor_id=x的所有字段
    actorAll:'SELECT first_name FROM actor', //查询actor表里面的所有first_name字段
    actorId:'SELECT first_name FROM actor WHERE actor_id=?' //查询唯一标识actor_id=x的所有first_name字段
  }
}
module.exports = SQL;

然后我们在user.js里面导入

var userSql = require('./userSql.js')

一、增

在user.js里面我们创建一个添加的router。

router.post('/add', function(req, res, next) {
 var addValue = ['kk','MM']//参数是对应first_name,last_name的值,前端调用接口post方法是使用req.body.xx获取的参数<br>// query()第一个是语句,第二个是参数
 mysql.query(userSql.inset.actorIn,addValue, function (error, results) { // 增
  if (error) throw error;
  res.json({
   code:0,
   data:'成功'
  })
 });
 mysql.end();//关闭mysql连接
});

二、删

在user.js里面我们创建一个删除的router

router.post('/del', function(req, res, next) {
 var delValue = 4 // 这里是删除的行唯一标识,一般是id,这里改为了actor_id
 mysql.query(userSql.delete.actorDel,delValue, function (error, results) { // 删
  if (error) throw error;
  res.json({
   code:0,
   data:'成功'
  })
 });
 mysql.end();
});

三、改

在user.js里面我们创建一个修改的router

router.post('/change', function(req, res, next) {
 var addValue = ['aa','22',3] // 前两个对应first_name,last_name,actor_id=3
 mysql.query(userSql.change.actorCh,addValue, function (error, results) { // 改
  if (error) throw error;
  res.json({
   code:0,
   data:'成功'
  })
 });
 mysql.end();
});

四、查

在user.js里面我们创建一个查询的router

router.get('/check', function(req, res, next) {
 //查询一般使用get方法,获取前端传来参数使用req.query.xx
 mysql.query(userSql.check.actorCk,1, function (error, results, fields) { // 查
  if (error) throw error;
  res.json({
   code:0,
   data:results
  })
 });
 mysql.end();
});

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Stop SQL Server
Jun 21 Javascript
Extjs学习笔记之一 初识Extjs之MessageBox
Jan 07 Javascript
菜鸟学习JavaScript小实验之函数引用
Nov 17 Javascript
JavaScript的模块化:封装(闭包),继承(原型) 介绍
Jul 22 Javascript
jquery处理json数据实例分析
Jun 03 Javascript
手写的一个兼容各种浏览器的javascript getStyle函数(获取元素的样式)
Jun 06 Javascript
JavaScript通过HTML的class来获取HTML元素的方法总结
May 24 Javascript
js通过classname来获取元素的方法
Nov 24 Javascript
Vue生命周期示例详解
Apr 12 Javascript
Vue键盘事件用法总结
Apr 18 Javascript
Vue2.0学习系列之项目上线的方法步骤(图文)
Sep 25 Javascript
小程序如何支持使用 async/await详解
Sep 12 Javascript
vue移动端使用appClound拉起支付宝支付的实现方法
Nov 21 #Javascript
微信小程序动态设置图片大小的方法
Nov 21 #Javascript
通过原生vue添加滚动加载更多功能
Nov 21 #Javascript
小程序api实现promise封装过程解析
Nov 21 #Javascript
如何基于原生javaScript生成带图片的二维码
Nov 21 #Javascript
Vue中Table组件行内右键菜单实现方法(基于 vue + AntDesign)
Nov 21 #Javascript
vue element 中的table动态渲染实现(动态表头)
Nov 21 #Javascript
You might like
十天学会php(1)
2006/10/09 PHP
php strlen mb_strlen计算中英文混排字符串长度
2009/07/10 PHP
利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法
2011/12/19 PHP
PHP __autoload函数(自动载入类文件)的使用方法
2012/02/04 PHP
phpstorm编辑器乱码问题解决
2014/12/01 PHP
php实现单笔转账到支付宝功能
2018/10/09 PHP
Laravel框架控制器的request与response用法示例
2019/09/30 PHP
javascript用户注册提示效果的简单实例
2013/08/17 Javascript
跟我学习javascript的闭包
2015/11/16 Javascript
jQuery事件绑定方法学习总结(推荐)
2016/11/21 Javascript
JS如何判断浏览器类型和详细区分IE各版本浏览器
2017/03/04 Javascript
React-Native中禁用Navigator手势返回的示例代码
2017/09/09 Javascript
使用js实现将后台传入的json数据放在前台显示
2018/08/06 Javascript
React如何解决fetch跨域请求时session失效问题
2018/11/02 Javascript
微信小程序使用map组件实现路线规划功能示例
2019/01/22 Javascript
解决Vue-Router升级导致的Uncaught (in promise)问题
2020/08/07 Javascript
[01:04:20]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第一场 11.29
2020/12/02 DOTA
Python实现对excel文件列表值进行统计的方法
2015/07/25 Python
python地震数据可视化详解
2019/06/18 Python
Python入门Anaconda和Pycharm的安装和配置详解
2019/07/16 Python
如何在Django项目中引入静态文件
2019/07/26 Python
Python面向对象封装操作案例详解 II
2020/01/02 Python
python实现银行实战系统
2020/02/26 Python
聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明
2021/03/03 Python
Html5新标签解释及用法
2012/02/17 HTML / CSS
几道PHP面试题
2013/04/14 面试题
生物制药毕业生自荐信
2013/10/16 职场文书
大学生职业生涯规划书模版
2013/12/30 职场文书
优秀社区干部事迹材料
2014/02/03 职场文书
服装设计专业求职信
2014/06/16 职场文书
毕业生就业推荐表自我评价
2015/03/02 职场文书
张思德观后感
2015/06/09 职场文书
读《钢铁是怎样炼成的》有感:百炼方成钢
2019/11/05 职场文书
Go语言的协程上下文的几个方法和用法
2022/04/11 Golang
python中pymysql包操作数据库方法
2022/04/19 Python
V Rising 服务器搭建图文教程
2022/06/16 Servers