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

这里我接着上一篇开始讲,使用同一个数据库(数据库创建)这里必须创建了数据库

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

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

var SQL = {
inset:{// 增
actorIn:'INSERT INTO company(first_name,last_name) VALUES(?,?)' // company是数据库的表名 first_name,last_name是其中的两个字段名,id一般设为自增
},
delete:{// 删
actorDel:'DELETE FROM company where id = ?' // 一般唯一标识是id并且自增
},
change:{// 改
actorCh:'UPDATE company SET first_name=?,last_name=? WHERE id=?' //修改唯一标识id为几的first_name和last_name值
},
check:{// 查
actorCk:'SELECT * FROM company', //查询所有使用*,company是表名
actorId:'SELECT * FROM company WHERE id=?', //查询唯一标识id=x的所有字段
actorAll:'SELECT first_name FROM company', //查询company表里面的所有first_name字段
actorId:'SELECT first_name FROM company WHERE id=?' //查询唯一标识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获取的参数
  // query()第一个是语句,第二个是参数
mysql.query(userSql.inset.actorIn,addValue, function (error, results) { // 增
if (error) throw error;
res.json({
code:0,
data:'成功'
})
});
mysql.end();//关闭mysql连接 上篇文章中把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();
});

node 后台使用增删改查(4)的更多相关文章

  1. 自封装node 的简单增删改查

    1 首先引入的上篇node 链接mysql 里面的js var connect = require('./nodemysql.js'); 2 定义常量 const customerSQL = { qu ...

  2. Flask项目实战:创建电影网站(3)后台的增删改查

    添加预告 根据需求数据库创建表格 需求数据库,关键字title logo # 上映预告 class Preview(db.Model): __tablename__ = "preview&q ...

  3. Node.js + MySQL 实现数据的增删改查

    通过完成一个 todo 应用展示 Node.js + MySQL 增删改查的功能.这里后台使用 Koa 及其相应的一些中间件作为 server 提供服务. 初始化项目 $ mkdir node-cru ...

  4. koa+mysql实现增删改查-全栈之路(001)

    Date: 2020-4-23 以前很少写文章,从今天开始我要挑战一下自己,连续输出100篇技术类文章.这100篇文章我尽量以实战案例为主. 如果你觉得本文还不错,记得关注或者给个 star,你们的赞 ...

  5. 可编辑树Ztree的使用(包括对后台数据库的增删改查)

    找了很多网上关于Ztree的例子和代码才搞定. 首先,关于Ztree的代码不介绍了,网上下载之后,引用下列四个文件就能使用了. 1.关于配置选项.主要通过回调函数来实现向后台发送数据,实现增删改查. ...

  6. [译]聊聊C#中的泛型的使用(新手勿入) Seaching TreeVIew WPF 可编辑树Ztree的使用(包括对后台数据库的增删改查) 字段和属性的区别 C# 遍历Dictionary并修改其中的Value 学习笔记——异步 程序员常说的「哈希表」是个什么鬼?

    [译]聊聊C#中的泛型的使用(新手勿入)   写在前面 今天忙里偷闲在浏览外文的时候看到一篇讲C#中泛型的使用的文章,因此加上本人的理解以及四级没过的英语水平斗胆给大伙进行了翻译,当然在翻译的过程中发 ...

  7. nodejs+easyui(抽奖活动后台)增删改查

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfAAAAJACAIAAAD97KNZAAAgAElEQVR4nO2daXxb5Z2o7w+dO1/ufL ...

  8. Node.js、express、mongodb 入门(基于easyui datagrid增删改查)

    前言 从在本机(win8.1)环境安装相关环境到做完这个demo大概不到两周时间,刚开始只是在本机安装环境并没有敲个Demo,从周末开始断断续续的想写一个,按照惯性思维就写一个增删改查吧,一方面是体验 ...

  9. Node+Express+node-mysql 实战于演习 全套mysql(增删改查)

    最近这段时间研究Node感觉不错,自己做了一个增删改查,虽然有些简陋,但是思想是想通的,其实所有项目都是增删改查,有助于初学者快速掌握Node 首先 本实例展示的是基于Node+Express+nod ...

随机推荐

  1. 基于 HTML5 + Canvas 实现的 PID 可视化系统

    前言 随着工业物联网和互联网技术的普及和发展,人工填料的方式已经逐渐被机械设备取代.工业厂商减小误操作.提升设备安全以及追求高效率等制造特点对设备的要求愈加高标准.严要求.同时机械生产以后还需遵从整个 ...

  2. 设计模式(二十一)Proxy模式

    在面向对象编程中,“本人”和“代理人”都是对象.如果“本人”对象太忙了,有些工作无法自己亲自完成,就将其交给“代理人”对象负责. 示例程序的类图. 示例程序的时序图.从这个时序图可以看出,直到调用pr ...

  3. leetcode系列---atoiFunction C#code

    Function: /// <summary> /// ToInt /// </summary> /// <param name="str">& ...

  4. redis操作总结

    一.redis 终端操作命令: 1.redis-server.exe redis.windows.conf #指定配置文件启动 2.redis-cli #链接redis数据库 3.select 1 # ...

  5. 调用微信js sdk

    场景:需要调用微信获取当前位置的借口. 途径:查看微信 https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115 .后 ...

  6. 在虚拟机上的关于NFS网络文件系统

    小知识: NFS(Network Files System)即网络文件系统,NFS文件系统协议允许网络中的主机通过TCP/IP协议进行资源共享,NFS客户端可以像使用本地资源一样读写远端NFS服务端的 ...

  7. 1、第一个TensorFlow程序

    import tensorflow as tf import os os.environ[' #去掉警告,将警告级别提升 a = tf.constant(2) #定义一个常量 b = tf.const ...

  8. Windows Server 搭建企业无线认证(Radius认证方案)

    认证协议介绍: 扩展认证协议EAP(Extensible Authentication Protocol) 是一个在无线网络或点对点连线中普遍使用的认证框架.它被定义在RFC 3748中,并且使RFC ...

  9. NOIP 模拟赛 23 T4 大逃亡O(二分+广搜)(∩_∩)O

    题目描述 给出数字N(1≤N≤10000),X(1≤x≤1000),Y(1≤Y≤1000),代表有N个敌人分布一个X行Y列的矩阵上,矩形的行号从0到X-1,列号从0到Y-1再给出四个数字x1,y1,x ...

  10. getchar()用法 【转】

    1.从缓冲区读走一个字符,相当于清除缓冲区 2.前面的scanf()在读取输入时会在缓冲区中留下一个字符'\n'(输入完s[i]的值后按回车键所致),所以如果不在此加一个getchar()把这个回车符 ...