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

推薦する

HTML ウェブページ作成のための 8 つの強力なテクニック

<br />作業を簡単に完了できる Web ページ作成ツールは数多くありますが、HTML...

MySql 5.7.17 winx64 のインストールと設定に関する詳細なチュートリアル

1. ソフトウェアをダウンロードする1. MySQL の公式サイトにアクセスし、Oracle アカウ...

Vueの監視方法のケースの詳細な説明

Vueでの監視方法時計知らせ名前: 監視する属性に同じ名前を付ける必要があります。 1. 機能Vue...

Linux に起動方法を追加する (サービス/スクリプト)

システムの起動時に読み込む必要がある設定ファイル/etc/profile、/root/.bash_p...

停止したすべてのDockerコンテナを1つのコマンドで再起動する

停止したすべてのDockerコンテナを1つのコマンドで再起動するdocker ps -a | gre...

Linux trコマンドの使用

1. はじめにtr はテキストの一部を変換または削除するために使用されます。 tr は transl...

MySQL スケジュールタスク (EVENT イベント) を詳細に設定する方法

目次1. イベントとは何ですか? 2. 「イベント」機能を有効にする1. 機能が有効になっているかど...

Java は Excel から MySQL にデータをインポートします

実際の業務では、Excel からデータベースにデータをインポートする必要がある場合があります。データ...

uniappとvueの違いの詳細な説明

目次1. シンプルなページの例2.uni-appはvueコンポーネントとミニプログラムネイティブコン...

クロスブラウザの問題に対する 5 つの解決策 (要約)

簡単なレビュー: ブラウザの互換性の問題は、しばしば頭痛の種となります。ここでは、これらの問題を回避...

MySQL データ型の選択原則

目次小さいけれど美しいシンプルにNULL値を避けるデータタイプを選択する手順データ型の紹介1. 文字...

vue3 のさまざまな構文形式を比較したサンプルコード

デフォルトのテンプレートメソッドはvue2に似ており、コンポーネント内のセットアップ関数を使用します...

Centos7 での mysql 8.0.15 のインストールと設定

この記事では、参考までにMySQL 8.0.15のインストールと設定のグラフィックチュートリアルを紹...

Ubuntuが仮想マシンでインターネットに接続できない問題の解決策

インターネットに接続できない仮想マシンをセットアップするのは非常に面倒です。ここでは、Ubuntu ...

MySQLリモート接続失敗の解決策

以前、MySQLがローカルでは接続できるのにリモートでは接続できないという問題に遭遇したことがありま...