MySQLとNodeJSの接続

Connecting Mysql With Nodejs



MySQLサーバーは非常に人気のあるデータベースサーバーであり、PHP、Python、Perl、Java、C#などの主に使用されるプログラミング言語でサポートされています。これはオープンソースアプリケーションであるため、誰でもこのアプリケーションをダウンロードして保存、取得できます。 、データベースクエリを使用したデータの更新と削除。データベースサーバーでさまざまな種類のデータベース操作を実行するには、サーバーパッケージとクライアントパッケージをシステムにインストールする必要があります。 MySQLサーバーは、ノード開発者にも人気が高まっています。ノード開発者は、MySQLサーバーのいくつかの特別な機能のためにMongoDBでMySQLサーバーの使用を開始します。このチュートリアルでは、node-mysqlクライアントを使用してMySQLサーバーと接続する方法を示します。

前提条件:

このチュートリアルを開始する前に、MySQLサーバーおよびクライアントパッケージがシステムにインストールされ、正しく機能していることを確認する必要があります。 MySQLサーバーを初めてインストールする場合、rootユーザーのパスワードはデフォルトで空です。ただし、を使用してMySQLサーバーと接続するには、rootユーザーのパスワードを設定する必要があります。 node-mysql クライアント。あなたはこれをチェックすることができます チュートリアル MySQLサーバーのrootパスワードを変更する方法を知るため。







次のコマンドを実行してrootユーザーとして機能し、MySQLクライアントを使用してMySQLサーバーに接続します。



$sudo -私
$ mysql-u-NS

ルートパスワードを入力し、次のSQLコマンドを実行して、新しいデータベースを作成し、そのデータベースにテーブルを作成して、そのテーブルにいくつかのレコードを挿入します。



次のコマンドは、という名前のデータベースを作成します mydb





作成 データベース mydb;

データベース操作を実行するデータベースを選択するには、次のコマンドを実行します。

使用する mydb;

次のコマンドは、という名前のテーブルを作成します データベース内 mydb。



作成 テーブル((
id INT ((6)。 署名なし 自動増加 主キー
題名 VARCHAR ((50)。 いいえ ヌル
著者 VARCHAR ((50)。 いいえ ヌル
価格 int ((5)。)。;

次のコマンドは、4つのレコードをに挿入します テーブル。

入れる の中へ
(( ヌル 「PHPとMySQLを学ぶ」 「ロビンニクソン」 フォーファイブ)。
(( ヌル 「JQueryの学習」 「ジョナサン」 35)。
(( ヌル 「AngularinAction」 「ジェレミー」 50)。
(( ヌル 「Laravelをマスターする」 「クリストファー」 55)。;

nodejs用のmysqlクライアントをインストールします。

次のコマンドを実行して確認します nodejs nodejsのmysqlクライアントをインストールするコマンドを実行する前にシステムにインストールされます。インストールされているnodejsのバージョンが表示されます。

$ノード-v

インストールされていない場合は、次のコマンドを実行してインストールする必要があります。

$sudo apt-get installnodejs

名前の付いた別のパッケージが必要になります 海抜 nodejs用のmysqlクライアントをインストールするためにシステムにインストールされます。インストールする前にインストールされていない場合は、次のコマンドを実行してインストールします 海抜

$sudo apt-get install海抜

次に、次のコマンドを実行してシステムを更新します。

$sudo apt-get update

次のコマンドがインストールされます mysql mysqlクライアントとして機能するnodejsのモジュール。

$海抜インストールmysql

NodeJSを使用した単純なMySQL接続:

名前の付いたJSファイルを作成します connection1.js 次のスクリプトを使用して、以前に作成したデータベースと接続します。 mydb からデータを読み取ります テーブル。 mysql モジュールがインポートされ、MySQLサーバーとの単純な接続を作成するために使用されます。次に、クエリが実行され、からすべてのレコードが読み取られます。 データベースが正しく接続されている場合は、テーブル。クエリが正しく実行された場合、 テーブルが端末に出力され、データベース接続が閉じられます。

connection1.js

// mysqlモジュールをインポートします
mysqlにしましょう=必須((「mysql」)。;

//データベース接続パラメータを設定します
接続しましょう=mysql。createConnection(({{
ホスト 'localhost'
ユーザー '根'
パスワード 「1234」
データベース 'mydb'
})。;

//データベースに接続します
繋がり。接続((関数(()。 {{
もしも (()。 {{

//失敗時にエラーメッセージを表示する
戻るコンソール。エラー(('エラー: ' +と。メッセージ)。;
}

//接続されている場合は成功メッセージを表示します
コンソール。ログ(('NSMySQLサーバーに接続しています...NS')。;
})。;

//クエリメッセージを設定します
$ query= 「本から*を選択」;

//データベースクエリを実行します
繋がり。クエリ(($ query 関数(()。 {{
もしも(()。{{

//エラーメッセージを表示します
コンソール。ログ((「クエリの実行中にエラーが発生しました。」)。;
戻る;
}
/ * 'book'テーブルから取得したフォーマット済みデータを表示します
forループの使用* /

コンソール。ログ(('本のテーブルの記録:NS')。;
コンソール。ログ(('題名NSNSNSNS著者NSNS価格NS')。;
にとって((行の行をしましょう)。 {{
コンソール。ログ((['題名']'NSNS'['著者']'NS''$'['価格'])。;
}
})。;

//データベース接続を閉じます
繋がり。終わり((関数(()。{{
コンソール。ログ(('NS接続が閉じられました。NS')。;
})。;

出力:

次のコマンドを実行して、スクリプトを実行します。

$ノードconnection1.js

スクリプトの実行後、次の出力が表示されます。

NodeJSを使用したプールされたMySQL接続:

を使用してNodeJSとの単純なMySQL接続を確立する mysql モジュールは前の例に示されています。ただし、多くのユーザーは、アプリケーションが作成されたときに、アプリケーションを介して一度にデータベースサーバーに接続できます。 MySQL 本番用のデータベース。あなたは必要になります 特急 同時データベースユーザーを処理し、複数のデータベース接続をサポートするモジュール。

次のコマンドを実行して、 特急 モジュール。

$海抜インストール特急

名前の付いたJSファイルを作成します connection2.js 次のスクリプトを使用します。次のスクリプトを使用してMySQLに接続すると、10人の同時ユーザーがデータベースサーバーに接続し、クエリに基づいてテーブルからデータを取得できるようになります。ポート5000で接続します。

connection2.js

// mysqlモジュールをインポートします
どこmysql=必須((「mysql」)。;

// Expressモジュールをインポートします
どこ特急=必須(('特急')。;

// Expressモジュールのオブジェクトを定義します
どこアプリ=特急(()。;

// 10人の同時ユーザーを処理するためにデータベース接続を確立します
どこプール=mysql。createPool(({{
connectionLimit10
ホスト 'localhost'
ユーザー '根'
パスワード 「1234」
データベース 'mydb'
デバッグ NS
})。;

/ *データベースとプール接続を確立し、そのテーブルから特定のレコードを読み取ります
データベース* /

関数handle_database((リクエスト応答)。 {{

//接続します
プール。getConnection((関数((繋がり)。{{
もしも (()。 {{

//接続に失敗した場合はエラーメッセージを送信して終了します
応答。json(({{'コード' 300 '状態' 「データベース接続エラー」})。;
戻る;
}

//ターミナルに成功メッセージを表示します
コンソール。ログ((「データベース接続」)。;

//ブックテーブルから特定のレコードを読み取ります
繋がり。クエリ(('SELECT * from book where title like'%PHP% 'or title like'%PHP% '
'%Laravel%' '
関数(()。{{繋がり。リリース(()。;
もしも(()。 {{

//クエリが正常に実行された場合、クエリの結果セットを返します
応答。json(()。;
}
})。;

//接続エラーが発生したかどうかを確認します
繋がり。オン(('エラー' 関数(()。 {{
応答。json(({{'コード' 300 '状態' 「データベース接続エラー」})。;
戻る;
})。;
})。;
}

//接続を確立するための関数を呼び出します
アプリ。得る(('/'関数((リクエスト応答)。{{-
handle_database((リクエスト応答)。;
})。;

//ポート5000で接続要求をリッスンします
アプリ。聞く((5000)。;

出力:

前の例のように、ターミナルからスクリプトを実行します。スクリプトの実行後、接続要求を待ちます。

$ノードconnection2.js

次に、任意のブラウザを開き、次のURLにアクセスして接続要求を送信します。

http:// localhost:5000

次の出力は、クエリの実行後に応答として表示されます。

ここでターミナルを開くと、次の出力が表示されます。

上記の方法で、10個のブラウザから一度に10個の接続要求を送信できます。

結論:

MySQLとNodeJSを操作する最も簡単な方法は、このチュートリアルの2つの例で示されています。あなたが新しいノード開発者であり、MySQLデータベースを使用したい場合は、このチュートリアルを読んだ後、タスクを実行できるようになることを願っています。