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

推薦する

MySQLクエリ速度が遅く、パフォーマンスが低下する原因と解決策

1. データベースクエリの速度に影響を与えるものは何ですか? 1.1 データベースクエリ速度に影響を...

史上最も便利な Zookeeper サーバーの構築方法 (推奨)

ZooKeeperとはZooKeeper は、分散アプリケーションに効率的で可用性の高い分散調整サ...

DockerでMySQLコンテナを作成する簡単な手順

序文すでに Docker をインストールしており、Docker について簡単に理解しています。ここで...

Linux で実行中のすべてのプロセスを表示する方法

ps コマンドを使用できます。プロセスの PID など、現在実行中のプロセスに関する関連情報を表示で...

Docker を使用した nGrinder パフォーマンス テスト プラットフォームの導入プロセスの分析

nGrinderとは何ですか? nGrinder は、スクリプトの作成、テストの実行、監視、結果レポ...

柔軟で安定した高品質の HTML および CSS コード標準を作成するためのガイド

黄金律常に同じコーディング標準セットに従ってください。同じプロジェクトに何人の人が関わっているかに関...

Linux の chown コマンドと chmod コマンドの違いの詳細な説明

Linux システムでは、chmod コマンドと chown コマンドの両方を使用して権限を設定でき...

CentOS に MySQL 8.0 をインストールして設定するための詳細な手順

序文CentOS に MySQL をインストールして設定する手順は次のとおりです。文章yumソースか...

バックエンドから返される 100,000 個のデータをフロントエンドでより適切に表示するにはどうすればよいですか?

目次予備作業バックエンド構築フロントエンドページダイレクトレンダリングsetTimeout ページン...

CSS3 を使用して 3D テキスト ホバー効果を実装するサンプル コード

この記事では、3D テキストのホバー変更効果を実現するための CSS3 のサンプル コードを紹介しま...

親要素を基準にCSSの位置を絶対的に設定する方法についての簡単な説明

ご存知のとおり、CSS の絶対位置はデフォルトでドキュメントに応じて設定されます。たとえば、posi...

テキストの円形スクロールアニメーションを実装するミニプログラム

この記事では、参考までに、テキストループスクロールを実現するアプレットの具体的なコードを例を挙げて紹...

ログインフォームを実装するためのJavaScript

この記事の例では、ログインフォームを実装するためのJavaScriptの具体的なコードを参考までに共...

Javascript 文字列メソッドの詳細な説明

目次文字列の長さ: 長さcharAt() charCodeAt()文字列に値が含まれているかどうかを...