主頁 > 知識庫 > Node.js下向MySQL數(shù)據(jù)庫插入批量數(shù)據(jù)的方法

Node.js下向MySQL數(shù)據(jù)庫插入批量數(shù)據(jù)的方法

熱門標簽:龍圖酒吧地圖標注 地圖標注圖標素材入駐 百度地圖標注地方備注 400電話申請什么好 怎么辦理400電話呢 電銷機器人價格多少錢一臺 電話機器人免費嗎 怎么申請400電話申請 好搜地圖標注

項目(nodejs)中需要一次性插入多筆數(shù)據(jù)到數(shù)據(jù)庫,數(shù)據(jù)庫是mysql的,由于循環(huán)插入的性能太差,就像使用批量插入的方法提高數(shù)據(jù)的插入性能。

批量插入的數(shù)據(jù)庫的表結(jié)構(gòu)如下:

1.數(shù)據(jù)庫連接

var mysql = require('mysql');
// 數(shù)據(jù)庫信息
var connection = mysql.createConnection({
 host  : 'localhost',
 user  : '數(shù)據(jù)庫用戶名',
 password : '數(shù)據(jù)庫登錄密碼',
 database : '操作數(shù)據(jù)庫名'
});

將插入數(shù)據(jù)轉(zhuǎn)換成嵌套數(shù)組

例如要插入的兩條數(shù)據(jù):

記錄1:

from:"index" 
to:“www.alibaba.com”
status:1
is_new:0

記錄2:

from:"index1"
to:"www.google.com"
status:1
is_new:0

轉(zhuǎn)為一下格式:

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 ?";

調(diào)用query函數(shù)完成數(shù)據(jù)的插入

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');
// 數(shù)據(jù)庫信息
var connection = mysql.createConnection({
 host  : 'localhost',
 user  : '數(shù)據(jù)庫用戶名',
 password : '數(shù)據(jù)庫登錄密碼',
 database : '操作數(shù)據(jù)庫名'
});
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");
});

同時在這里記錄一個基于事務的操作(還沒有實踐,具體效果不詳)

用事務循環(huán)插入、如果有一條插入失敗進行回滾

mysql模塊、connection.beginTransaction是做事務

然后我這里封裝了一個函數(shù)、對傳入的數(shù)組做循環(huán)插入或更新之類的操作、如果有一條失敗了就回滾、全對了就commit

總結(jié)

以上所述是小編給大家介紹的Node.js下向MySQL數(shù)據(jù)庫插入批量數(shù)據(jù),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

您可能感興趣的文章:
  • Node.js實現(xiàn)連接mysql數(shù)據(jù)庫功能示例
  • node.js平臺下的mysql數(shù)據(jù)庫配置及連接
  • Node.js數(shù)據(jù)庫操作之查詢MySQL數(shù)據(jù)庫(二)
  • Node.js數(shù)據(jù)庫操作之連接MySQL數(shù)據(jù)庫(一)
  • 從零學習node.js之mysql數(shù)據(jù)庫的操作(五)
  • Node.js操作mysql數(shù)據(jù)庫增刪改查
  • Linux下為Node.js程序配置MySQL或Oracle數(shù)據(jù)庫的方法
  • node.js 開發(fā)指南 – Node.js 連接 MySQL 并進行數(shù)據(jù)庫操作
  • node.js如何操作MySQL數(shù)據(jù)庫

標簽:浙江 廣西 溫州 防疫工作 固原 汕尾 內(nèi)江 撫順

巨人網(wǎng)絡通訊聲明:本文標題《Node.js下向MySQL數(shù)據(jù)庫插入批量數(shù)據(jù)的方法》,本文關(guān)鍵詞  Node.js,下向,MySQL,數(shù)據(jù)庫,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Node.js下向MySQL數(shù)據(jù)庫插入批量數(shù)據(jù)的方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于Node.js下向MySQL數(shù)據(jù)庫插入批量數(shù)據(jù)的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章