首先要使用 mysql 就必须要安装

npm install mysql

然后封装 sql 函数

const mySql = require('mysql');

let connection ;

let insert, update, deletes, select;
insert = update = deletes = select = (condition, callback) => {
 // insert into 表名(`name`,`age`) values('张三',12),('李四',13)
 // select * from 表名 where id=1 and name='张三'
 // update 表名 set name='张三' where id=1
 // delete from 表名 where id=1
connection.query(condition, (err, data) => {
if (err) throw err;
callback && callback(data);
});
}; // 或使用占位符的方式 insert = (sql, values, callback) => {
// 单条数据插入
  // sql:'insert into 表名 set ?'
  // values:{name: '张三', age:14}
  connection.query(sql, values, (err, data) => {
    if (err) throw err;
    callback && callback(data);
  }); // 多条数据插入
  // sql:'insert into 表名(`name`,`age`) values ?'
  // values:[['张三', 18],['李四', 19],['王五', 20]]
  connection.query(sql, [values], (err, data) => {
    if (err) throw err;
    callback && callback(data);
  });
} update = (sql, values, callback) => {
// 注意:mysql 没有批量 update 的方法,得使用循环来单个修改
// 更新单条数据
  // sql:'update 表名 set name=?,age=? where id=?'
  // values:['张三', 14, 1]
  connection.query(sql, values, (err, data) => {
    if (err) throw err;
    callback && callback(data);
  });
// 更新全部数据
  // sql:'update 表名 set name=?'
  // values:['张三']
  connection.query(sql, values, (err, data) => {
    if(err) throw err;
    callback && callback(data);
  })
}; select = (sql, values, callback) => {  
// 多条件查询
  // sql:'select * from 表名 where name = ? and age = ?'
  // 或 sql:'select * from 表名 where name = ? or age = ?'
  // values:['张三', 12]
  connection.query(sql, values, (err, data) => {
    if (err) throw err;
    callback && callback(data);
  });
// 同条件限定查询
  // sql:'select * from 表名 where id in (?)'
  // values:[1,2,3,4]
  connection.query(sql, [values], (err, data)=>{
    if(err) throw err;
    callback && callback(data)
  }) }; deletes = (sql, values, callback) =>{
// 删除一条
  // sql:'delete from 表名 where id=?'
  // values:[1]
  connnection.query(sql, values, (err, data)=>{
    if(err) throw err;
    callback && callback(data);
  }) // 删除多条
  // sql:'delete from 表名 where id in (?)'
  // values:[1,2,3]   connection.query(sql, [values], (err, data) => {
    if(err) throw err;
    callback && callback(data)
  });
}; const connectionStart = callback => {
connection = mySql.createConnection({
host: 'localhost',
user: 'root',
password: '',
database: 'bms-test-back'
});
connection.connect(err => {
if (err) return console.log('connectSql fail:' + err);
callback && callback();
});
}; const connectionEnd = () => connection.end(); module.exports = {
insert,
update,
deletes,
select,
connectionStart,
connectionEnd
}

最后要在哪个 js 文件中使用,引入即可

nodejs 中使用 mysql 实现 crud的更多相关文章

  1. 关于nodejs中遇到mysql默认8小时连接断开机制的终极简单解决方案

    由于mysql默认8小时连接无访问,就会断开.为此查了一下资料,有同种比较简单的解决方案: 1. 增加 MySQL 的 wait_timeout 属性的值. 修改 /etc/mysql/my.cnf文 ...

  2. nodejs中mysql用法

    nodejs也算是一篇脚本了我们来看nodejs如何使用mysql数据库了有了它们两组合感觉还是非常的不错哦,下面一起来看nodejs中使用mysql数据库的示例,希望能够帮助到各位. <scr ...

  3. nodejs中如何使用mysql数据库[node-mysql翻译]

    nodejs中如何使用mysql数据库 db-mysql因为node-waf: not found已经不能使用,可以使用mysql代替. 本文主要是[node-mysql]: https://www. ...

  4. nodejs中如何连接mysql

    nodejs中如何连接mysql,下面给出一个小Demo. 第一步安装mysql模块npm install mysql 第二步导入mysql模块var mysql = require('mysql') ...

  5. 【原】无脑操作:express + MySQL 实现CRUD

    基于node.js的web开发框架express简单方便,很多项目中都在使用.这里结合MySQL数据库,实现最简单的CRUD操作. 开发环境: IDE:WebStorm DB:MySQL ------ ...

  6. 详细讲解nodejs中使用socket的私聊的方式

    详细讲解nodejs中使用socket的私聊的方式 在上一次我使用nodejs+express+socketio+mysql搭建聊天室,这基本上就是从socket.io的官网上的一份教程式复制学习,然 ...

  7. 使用nodejs+express+socketio+mysql搭建聊天室

    使用nodejs+express+socketio+mysql搭建聊天室 nodejs相关的资料已经很多了,我也是学习中吧,于是把socket的教程看了下,学着做了个聊天室,然后加入简单的操作mysq ...

  8. nodejs remote链接mysql数据库总结

    nodejs链接远端mysql,这个折腾了一个上午才搞定.本以为,直接使用就OK了,但是发现不行,后来查阅各种资料后,终于找到了方法. nodejs链接远端数据库主要分为几个步骤: 1)安装node- ...

  9. 第68节:Java中的MYSQL运用从小白到大牛

    第68节:Java中的MYSQL运用从小白到大牛 前言 学习java必备要求,学会运用!!! 常见关系化数据库 BootStrap是轻量级开发响应式页面的框架,全局css组件,js插件.栅格系统是将页 ...

随机推荐

  1. 小程序map地图多点定位

    最近需求有一个类似共享单车查看附近单车的功能,看了看小程序map api对多点定位显示描述的不怎么清晰.显示定位数组添加多个时就不显示了.踩了几个坑写了几个方法.最终弄出来了.有问题建议欢迎留言. h ...

  2. Oracle数据库的自动备份脚本

    @echo off echo ================================================ echo Windows环境下Oracle数据库的自动备份脚本 echo ...

  3. P2386 放苹果

    题目背景 (poj1664) 题目描述 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分发(5,1,1和1,1,5是同一种方法) 输入输出格式 输入格式: 第一行是测试 ...

  4. http长链接问题

    http://www.ibm.com/developerworks/cn/web/wa-lo-comet/

  5. hadoop在线退役datanode

    退役dn2echo "dn2" >>excludes echo "dn2" >>yarn-excludes sh refresh-nam ...

  6. 关于单CPU,多CPU上的原子操作

    所谓原子操作,就是"不可中断的一个或一系列操作" . 硬件级的原子操作:在单处理器系统(UniProcessor)中,能够在单条指令中完成的操作都可以认为是" 原子操作& ...

  7. Win8.1 Hyper-V 共享本机IP上网

    公司的Win8.1自带了Hyper v,可是死活连接不到网络. 原因是公司只给每人分配一个局域网IP,而默认情况下Hyper-V的虚拟机会动态分配了一个没有经过MIS人员许可的IP…… 百度了N久解决 ...

  8. CentOS6.5下卸载MySql(yum安装)

    因为我是用yum安装的mysql,所以卸载相对简单 yum -y remove mysql* 再把相关的文件删掉, rm -f /etc/my.cnf.rpmsave  rm -rf /var/lib ...

  9. Hibernate二级缓存的使用

    1.什么是缓存? 缓存是介于物理数据源与应用程序之间,是对数据库中的数据复制一份临时放在内存中的容器,其作用是为了减少应用程序对物理数据源访问的次数,从而提高了应用程序的运行性能.Hibernate在 ...

  10. ZooKeeper的应用场景(转)

    应用场景1 :统一命名服务 分布式应用中,通常需要一套完备的命令机制,既能产生唯一的标识,又方便人识别和记忆. 我们知道,每个ZNode都可以由其路径唯一标识,路径本身也比较简洁直观,另外ZNode上 ...