最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2017年10月16日 09:36:46   作者:lym152898  
這篇文章主要介紹了Node.js下向MySQL數(shù)據(jù)庫插入批量數(shù)據(jù)的實(shí)現(xiàn)方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下

項(xiàng)目(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");
});

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

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

這里寫圖片描述

mysql模塊、connection.beginTransaction是做事務(wù)

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

總結(jié)

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

相關(guān)文章

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

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

    這篇文章主要介紹了Node.js下向MySQL數(shù)據(jù)庫插入批量數(shù)據(jù)的實(shí)現(xiàn)方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-10-10
  • mysql執(zhí)行計(jì)劃id為空(UNION關(guān)鍵字)詳解

    mysql執(zhí)行計(jì)劃id為空(UNION關(guān)鍵字)詳解

    這篇文章主要給大家介紹了關(guān)于mysql執(zhí)行計(jì)劃id為空(UNION關(guān)鍵字)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • MySQL中join語句的基本使用教程及其字段對(duì)性能的影響

    MySQL中join語句的基本使用教程及其字段對(duì)性能的影響

    這篇文章主要介紹了MySQL中join語句的基本使用及其字段對(duì)性能的影響,舉了實(shí)例來觀測join所作用的不同字段字符集編碼所造成的性能差異,需要的朋友可以參考下
    2015-12-12
  • mysql在update,非主鍵索引更新引起死鎖問題

    mysql在update,非主鍵索引更新引起死鎖問題

    這篇文章主要介紹了mysql在update,非主鍵索引更新引起死鎖問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • MySQL 8.0 redo log的深入解析

    MySQL 8.0 redo log的深入解析

    這篇文章主要介紹了MySQL 8.0 redo log的深入解析,幫助大家更好的理解和學(xué)習(xí)使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下
    2021-03-03
  • 詳解MySQL如何選擇合適的索引

    詳解MySQL如何選擇合適的索引

    選擇合適的索引是數(shù)據(jù)庫優(yōu)化中非常重要的一步,正確的索引可以大幅提高查詢性能,減少數(shù)據(jù)庫響應(yīng)時(shí)間;而不當(dāng)?shù)乃饕x擇則可能增加存儲(chǔ)開銷,影響數(shù)據(jù)庫性能,甚至使得某些操作變得更加緩慢,以下是選擇合適索引的一些指導(dǎo)原則和策略,需要的朋友可以參考下
    2024-12-12
  • MySQL存儲(chǔ)引擎InnoDB架構(gòu)原理和執(zhí)行流程

    MySQL存儲(chǔ)引擎InnoDB架構(gòu)原理和執(zhí)行流程

    InnoDB是MySQL的當(dāng)前默認(rèn)存儲(chǔ)引擎,支持外鍵、行級(jí)鎖定和ACID事務(wù),通過BufferPool緩沖池緩存數(shù)據(jù),RedoLogBuffer和undo日志文件保證數(shù)據(jù)的持久性和回滾能力,MySQL宕機(jī)重啟時(shí),InnoDB會(huì)根據(jù)LSN值決定是否需要從redo日志恢復(fù)數(shù)據(jù)
    2025-04-04
  • CentOS中mysql cluster安裝部署教程

    CentOS中mysql cluster安裝部署教程

    這篇文章主要介紹了在CentOS 6.3系統(tǒng)上搭建MySQL Cluster 7.2.25集群的相關(guān)資料,需要的朋友可以參考下。
    2016-11-11
  • 解決當(dāng)MySQL數(shù)據(jù)庫遇到Syn Flooding問題

    解決當(dāng)MySQL數(shù)據(jù)庫遇到Syn Flooding問題

    Syn攻擊常見于應(yīng)用服務(wù)器,而數(shù)據(jù)庫服務(wù)器在內(nèi)網(wǎng)中,應(yīng)該很難碰到類似的攻擊,這篇文章主要介紹了當(dāng)MySQL數(shù)據(jù)庫遇到Syn Flooding問題 ,需要的朋友可以參考下
    2019-06-06
  • Mysql和文件系統(tǒng)的關(guān)聯(lián)詳情

    Mysql和文件系統(tǒng)的關(guān)聯(lián)詳情

    這篇文章主要介紹了Mysql和文件系統(tǒng)的關(guān)聯(lián)詳情,Mysql常用的存儲(chǔ)引擎如InnoDB、MyISAM采用的是文件存儲(chǔ),自然和文件系統(tǒng)掛鉤,那么Mysql都有哪些地方用到了文件系統(tǒng)呢,下面我們一起進(jìn)入文章學(xué)習(xí)詳細(xì)內(nèi)容吧
    2022-09-09

最新評(píng)論

囊谦县| 吉林省| 察隅县| 隆子县| 南昌市| 双流县| 清水河县| 方城县| 西畴县| 涿鹿县| 金秀| 佳木斯市| 双鸭山市| 尖扎县| 永靖县| 香河县| 许昌市| 安仁县| 子长县| 西乌| 开封县| 安康市| 双柏县| 舟曲县| 夏津县| 宁蒗| 台北县| 鄯善县| 济源市| 孟连| 临猗县| 南开区| 噶尔县| 崇阳县| 海门市| 三河市| 孟津县| 温泉县| 大连市| 绥德县| 定西市|