最新国产好看的视频,伊人天堂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í)例來觀測(cè)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)論

德昌县| 南宁市| 江都市| 桃园县| 上栗县| 阜城县| 聂拉木县| 柞水县| 达尔| 简阳市| 东宁县| 河源市| 遂昌县| 甘谷县| 浠水县| 景洪市| 罗江县| 资源县| 邵东县| 浮山县| 绥中县| 松阳县| 鞍山市| 夏津县| 南宁市| 云南省| 沁水县| 阿拉尔市| 漳浦县| 凤台县| 镇安县| 堆龙德庆县| 乌海市| 安塞县| 南召县| 新干县| 怀仁县| 泌阳县| 丰镇市| 公安县| 紫云|