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バックグラウンド管理に多言語機能を追加する例

推薦する

C++ TpeScriptシリーズのジェネリックについて

目次1. テンプレート2. ジェネリック3. ジェネリック再帰4. デフォルトのジェネリックパラメー...

JS Canvas インターフェースとアニメーション効果

目次概要Canvas API: グラフィックスの描画パス線種矩形アーク文章グラデーションと画像の塗り...

Vueスロットの詳細な説明

1. 機能: 親コンポーネントが子コンポーネントの指定された位置に HTML 構造を挿入できるように...

URL 書き換えモジュール 2.1 URL 書き換えモジュールのルール記述

目次前提条件テストページの設定書き換えルールの作成命名規則モードの定義アクションの定義設定ファイル内...

MySql データベースにリモートでログインするにはどうすればよいですか?

はじめに: プロジェクトを開発するために、サーバーに MySql データベース サーバーを展開し、ロ...

vue で h5 側のアプリを開きます (Android か Apple かを判断します)

1. 開発環境 vue+vant 2. コンピュータシステム Windows 10 Profess...

シンプルな商品スクリーニング機能を実現するjs

この記事の例では、商品スクリーニング機能を実装するためのjsの具体的なコードを参考までに共有していま...

MySQL SQL ステートメントのパフォーマンス チューニングの簡単な例

MySQL SQL ステートメントのパフォーマンス チューニングの簡単な例サーバー開発を行う際には、...

iOS WeChat H5ページのゴム反発効果の落とし穴記録

ビジネス要件最近開発したプロジェクトの一つに、WeChat公式アカウントに関連したH5ページがありま...

JS 開発効率を上げる4つの超実践的なヒント

目次1. 短絡判定2. オプション連鎖演算子 (?) 3. ヌル合体演算子 (??) 4. 終了関数...

Docker コンテナのマウントディレクトリ操作の表示

Dockerコンテナのマウントディレクトリ情報のみを表示する docker 検査 --format ...

リモートログインとポート公開を防ぐためのLinuxサーバー構成IPホワイトリスト

序文ブロガーが使用しているサーバーは Alibaba Cloud から購入したものです。実際、Ali...

CPU、マシンモデル、メモリなどの情報を表示するLinuxシステム

システムメンテナンス中は、いつでも CPU 使用率を確認し、対応する情報に基づいてシステムの状態を分...

Linux ifconfig コマンドの使用

1. コマンドの紹介ifconfig (ネットワーク インターフェイスを構成する) コマンドは、ネッ...