最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Node.js下向MySQL数据库插入批量数据的方法
时间:2022-11-14 22:04:38 编辑:袖梨 来源:一聚教程网
项目(nodejs)中需要一次性插入多笔数据到数据库,数据库是mysql的,由于循环插入的性能太差,就像使用批量插入的方法提高数据的插入性能。
批量插入的数据库的表结构如下:
1.数据库连接
var mysql = require('mysql');
// 数据库信息
var connection = mysql.createConnection({
host : 'localhost',
user : '数据库用户名',
password : '数据库登录密码',
database : '操作数据库名'
});
将插入数据转换成嵌套数组
例如要插入的两条数据:
记录1:
from:"index" to:“www.alibaba.com” status:1 is_new:0
记录2:
from:"index1" to:"www.google.com" status:1 is_new:0
转为一下格式:
var values = [ ["index","www.alibaba.com",1,0], ["index1","www.google.com",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","www.alibaba.com",1,0],
["index1","www.google.com",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
相关文章
- wps-office网页版最新地址-wps-office官网一键登录 02-17
- 樱花动漫app最新版下载安装-樱花动漫app官方正版下载入口 02-17
- 免费看漫画的软件推荐-资源最全的漫画app 02-17
- 淘宝网页版一键登录入口-淘宝网页版回收站位置速查 02-17
- 晋江文学城入口在哪-晋江文学城官网地址直达 02-17
- 百度网页版登录入口-百度首页快捷登录入口 02-17