前提条件:
このチュートリアルを開始する前に、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のモジュール。
$海抜インストールmysqlNodeJSを使用した単純な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(({{
connectionLimit:10、
ホスト: '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にアクセスして接続要求を送信します。
次の出力は、クエリの実行後に応答として表示されます。
ここでターミナルを開くと、次の出力が表示されます。
上記の方法で、10個のブラウザから一度に10個の接続要求を送信できます。
結論:
MySQLとNodeJSを操作する最も簡単な方法は、このチュートリアルの2つの例で示されています。あなたが新しいノード開発者であり、MySQLデータベースを使用したい場合は、このチュートリアルを読んだ後、タスクを実行できるようになることを願っています。