Node.js で MySQL データベースにバッチデータを挿入する方法

Node.js で MySQL データベースにバッチデータを挿入する方法

プロジェクト(nodejs)では、一度に複数のデータをデータベースに挿入する必要があります。データベースはMySQLです。ループ挿入のパフォーマンスが悪すぎるため、バッチ挿入を使用してデータ挿入のパフォーマンスを向上させるようなものです。

バッチ挿入用のデータベースのテーブル構造は次のとおりです。

這里寫圖片描述

1. データベース接続

var mysql = require('mysql');
// データベース情報 var connection = mysql.createConnection({
 ホスト: 'localhost',
 ユーザー: 'データベースユーザー名',
 パスワード: 'データベースログインパスワード',
 データベース: '操作データベース名'
});

挿入されたデータをネストされた配列に変換する

たとえば、挿入する 2 つのデータ:

記録1:

出典:"インデックス" 
「www.alibaba.com」へ
ステータス:1
新着:0

記録2:

出典:"index1"
宛先:"www.google.com"
ステータス:1
新着:0

次の形式に変換します。

var値 = [
 ["インデックス","www.alibaba.com",1,0],
 ["インデックス1","www.google.com",1,0]
];

挿入文を書く

var sql = "url(`from`,`to`,`status`, `is_new`) の値にINSERT INTO ?";

クエリ関数を呼び出してデータの挿入を完了します

connection.query(sql, [値], 関数 (err, 行, フィールド) {
 もしエラーが起きたら
    console.log('挿入エラー - ', err.message);
    戻る;
   }
   console.log("挿入成功");
});

完全なコード:

var mysql = require('mysql');
// データベース情報 var connection = mysql.createConnection({
 ホスト: 'localhost',
 ユーザー: 'データベースユーザー名',
 パスワード: 'データベースログインパスワード',
 データベース: '操作データベース名'
});
var値 = [
 ["インデックス","www.alibaba.com",1,0],
 ["インデックス1","www.google.com",1,0]
];
var sql = "url(`from`,`to`,`status`, `is_new`) の値にINSERT INTO ?";
connection.query(sql, [値], 関数 (err, 行, フィールド) {
 もしエラーが起きたら
    console.log('挿入エラー - ', err.message);
    戻る;
   }
   console.log("挿入成功");
});

同時に、トランザクションベースの操作をここに記録します(まだ実践していないため、具体的な効果は不明です)

トランザクションループを使用して挿入し、挿入が失敗した場合はロールバックします。

這里寫圖片描述

mysqlモジュール、connection.beginTransactionはトランザクションを実行するためのものです

次に、渡された配列に対してループ挿入や更新などの操作を実行する関数をここでカプセル化します。 1 つでも失敗した場合はロールバックし、すべてが正しければコミットします。

要約する

上記は、Node.js で MySQL データベースにバッチデータを挿入する方法について紹介したものです。お役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • Node.js を使用して MySQL データベースに接続する例
  • node.js プラットフォームでの MySQL データベースの構成と接続
  • Node.js データベース操作: MySQL データベースのクエリ (パート 2)
  • Node.js データベース操作: MySQL データベースへの接続 (I)
  • node.js mysql データベース操作をゼロから学ぶ (V)
  • Node.jsはmysqlデータベースを操作して追加、削除、変更、クエリを実行します。
  • Linux で Node.js プログラム用に MySQL または Oracle データベースを構成する方法
  • Node.js 開発ガイド – Node.js は MySQL に接続し、データベース操作を実行します
  • node.js で MySQL データベースを操作する方法

<<:  ウェブサイトのコンテンツが検索エンジンに含まれないようにする方法

>>:  Vueバックグラウンド管理に多言語機能を追加する例

推薦する

Reactコンポーネントのライフサイクル機能についての簡単な説明

React コンポーネントのライフサイクル機能とは何ですか?ライフサイクル関数は、ES6 構文クラス...

Linux での Centos7 ファイアウォールの基本的な使用方法の詳細な説明

1. ファイアウォールの基本的な使い方起動する: systemctl は、firewalld を起動...

人気の宇宙飛行士ウォッチフェイスをJavaScriptで実装するための完全なコード

1. エフェクト表示JavaScript で書かれた宇宙飛行士のウォッチフェイス。 http://x...

過去2年間のユーザーエクスペリエンス

<br />国内のウェブサイトが本格的に普及し、ユーザーエクスペリエンスに重点が置かれる...

Vue組み込みコンポーネントのキープアライブの使用例

目次1. キープアライブの使用使用例: 1. すべてのページをキャッシュする: 2. 条件に基づいて...

docker compose idea CreateProcess error=2 システムは指定されたファイルを見つけることができません

Docker の作成Compose の紹介Compose は、マルチコンテナ Docker アプリケ...

ドラッグアンドドロップによる並べ替えの詳細を実現する js

目次1. はじめに2. 実装3. HTML ドラッグ アンド ドロップ API を使用しないのはなぜ...

MySQLの文字セットと検証ルールの詳細な説明

1いくつかの一般的な文字セットMySQL で最も一般的な文字セットには、ASCII 文字セット、ラテ...

CSS3 で複数のカスタムフォントを導入する

今日、HTML に問題を発見しました。多くのデフォルト フォントが提供されていますが、「Bold」、...

xshellを使用してLinuxサーバーに接続する

xshellを使用してLinuxに接続する利点Windows環境でLinuxを直接操作できるインター...

1つの記事でJavaScript DOM操作の基本を学ぶ

DOM の概念DOM: ドキュメント オブジェクト モデル: ドキュメント オブジェクト モデルは、...

HTML マウス CSS コントロール

一般的に、マウスは上向きの斜め矢印として表示され、テキストの上に移動すると垂直線になり、ハイパーリン...

HTMLエリアタグの詳しい説明

<area> タグは、イメージ マップ内の領域を定義します (注: イメージ マップはク...

SQL インジェクションの詳細

1. SQL インジェクションとは何ですか? SQL インジェクションは、入力パラメータに SQL ...

JavaScript JSON.stringify() の使用法の概要

目次1. 使用方法1. 基本的な使い方2. 2番目のパラメータ - フィルター3. 3番目のパラメー...