国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

Node.js下向MySQL數據庫插入批量數據的方法

2024-07-24 13:14:44
字體:
來源:轉載
供稿:網友

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

批量插入的數據庫的表結構如下:

node.js,mysql,數據庫

1.數據庫連接

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

將插入數據轉換成嵌套數組

例如要插入的兩條數據:

記錄1:

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

記錄2:

from:"index1"to:"www.google.com"status:1is_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");});

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

用事務循環插入、如果有一條插入失敗進行回滾

node.js,mysql,數據庫

mysql模塊、connection.beginTransaction是做事務

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

總結

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


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 上高县| 马鞍山市| 子长县| 琼结县| 平邑县| 通海县| 富锦市| 广南县| 上蔡县| 漠河县| 万山特区| 万载县| 昭苏县| 七台河市| 江油市| 察隅县| 偏关县| 安徽省| 绥芬河市| 乳源| 甘孜| 上思县| 分宜县| 津南区| 青神县| 望都县| 东方市| 莱阳市| 紫云| 台州市| 高雄县| 厦门市| 张家港市| 石阡县| 遂溪县| 全州县| 托克托县| 福海县| 沽源县| 公主岭市| 桃江县|