时间:2021-05-24
项目(nodejs)中需要一次性插入多笔数据到数据库,数据库是mysql的,由于循环插入的性能太差,就像使用批量插入的方法提高数据的插入性能。
批量插入的数据库的表结构如下:
1.数据库连接
var mysql = require('mysql');// 数据库信息var connection = mysql.createConnection({ host : 'localhost', user : '数据库用户名', password : '数据库登录密码', database : '操作数据库名'});将插入数据转换成嵌套数组
例如要插入的两条数据:
记录1:
from:"index" to:“”status:1is_new:0记录2:
from:"index1"to:""status:1is_new:0转为一下格式:
var values = [ ["index","",1,0], ["index1","",1,0]];编写插入语句
var sql = "INSERT INTO url(`from`,`to`,`status`, `is_new`) VALUES ?";调用query函数完成数据的插入
connection.query(sql, [values], function (err, rows, fields) { if(err){ console.log('INSERT ERROR - ', err.message); return; } console.log("INSERT SUCCESS");});完整代码:
var mysql = require('mysql');// 数据库信息var connection = mysql.createConnection({ host : 'localhost', user : '数据库用户名', password : '数据库登录密码', database : '操作数据库名'});var values = [ ["index","",1,0], ["index1","",1,0]];var sql = "INSERT INTO url(`from`,`to`,`status`, `is_new`) VALUES ?";connection.query(sql, [values], function (err, rows, fields) { if(err){ console.log('INSERT ERROR - ', err.message); return; } console.log("INSERT SUCCESS");});同时在这里记录一个基于事务的操作(还没有实践,具体效果不详)
用事务循环插入、如果有一条插入失败进行回滚
mysql模块、connection.beginTransaction是做事务
然后我这里封装了一个函数、对传入的数组做循环插入或更新之类的操作、如果有一条失败了就回滚、全对了就commit
总结
以上所述是小编给大家介绍的Node.js下向MySQL数据库插入批量数据,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Node.js实现连接mysql数据库功能。分享给大家供大家参考,具体如下:Node.js连接数据库前,需要安装相应的包,如果安装sqlserve
前言我们在上一篇文章《Node.js数据库操作之连接MySQL数据库(一)》中已经学习了Nodejs连接MySQL数据库的几种方法,数据库连接上了之后就需要对数
MySQL数据库作为最流行的开源数据库。基本上是每个web开发者必须要掌握的数据库程序之一了。基本使用node.js上,最受欢迎的mysql包就是mysql模块
最近在学习node.js,做了一个练手项目,使用node.js+express框架,配合mysql数据库和前端vue框架开发一个多人文档编辑系统。node.js
关于node.js操作mysql数据库的相关介绍请阅读全文吧。下文介绍的非常详细,具体内容如下所示:安装mysql模块npminstallmysql数据库准备m