この記事では、Node.js を使用してデータベース サーバーを構築する方法を紹介します。 Node.js は、Chrome JavaScript エンジンに基づくサーバーサイド JavaScript 開発ツールであり、非同期イベント駆動型プログラミングを簡単に実装できます。 Node.js をサーバー開発に使用する場合、さまざまなフレームワークとライブラリを使用して開発できます。最も一般的なのは Express.js ですが、他のフレームワークでも同じ機能を実現できます。サーバーのスケーラビリティと信頼性を高めるには、データの保存に適したデータベースを選択する必要があります。この記事では、MySQL データベースを使用してデータを保存する方法を説明します。
始める前に、システムに Node.js と MySQL をインストールする必要があります。 Node.jsは公式Webサイト(https://nodejs.org)からダウンロードでき、MySQLも公式Webサイト(https://www.mysql.com/)からダウンロードできます。
まず、データを保存するために MySQL にデータベースとデータ テーブルを作成する必要があります。次のコマンドを使用して、test という名前のデータベースを作成します。
CREATE DATABASE test;
次に、users という名前のデータ テーブルを作成します。
USE test; CREATE TABLE users ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(50) NOT NULL, email VARCHAR(100) NOT NULL, PRIMARY KEY (id), UNIQUE KEY email (email) );
このテーブルには、id、name、および email の 3 つの列が含まれています。 id 列は、各エントリが一意の ID を持つようにする自動インクリメント列です。 name 列と email 列は必須フィールドであるため、テーブル定義で NOT NULL 制約を定義します。電子メール列には、各電子メール アドレスが 1 回だけ表示されるようにするための一意のキー インデックスもあります。
次に、MySQL モジュールを Node.js にインストールする必要があります。 npm コマンドを使用して、mysql モジュールをインストールできます。
npm install mysql
アプリケーションで MySQL に接続するには、mysql モジュールを使用する必要があります。接続情報を使用して接続オブジェクトをインスタンス化する必要があります。
const mysql = require('mysql'); const connection = mysql.createConnection({ host : 'localhost', user : 'user', password : 'password', database : 'test' });
この例では、データベース接続情報を定義します。 MySQL サーバーがローカルの場合、ホスト名は localhost である必要があります。この例ではパスワードが使用されていますが、これは安全ではない方法であることに注意してください。実際の使用では、環境変数からパスワードを読み取るなど、より安全な手段を使用する必要があります。
これで、新しいユーザーの作成、ユーザー情報の取得、ユーザーの削除を行う API を作成できます。 Express.js を通じてルーティング機能を実装する必要があります。この例では、Express.js を使用しました。
const express = require('express'); const bodyParser = require('body-parser'); const app = express(); app.use(bodyParser.json()); // 创建新用户 app.post('/users', (req, res) => { const user = req.body; connection.query('INSERT INTO users SET ?', user, (err, results) => { if (err) { res.status(500).send(err); } else { res.status(200).send(results); } }); }); // 获取用户信息 app.get('/users/:id', (req, res) => { const id = req.params.id; connection.query('SELECT * FROM users WHERE id = ?', id, (err, results) => { if (err) { res.status(500).send(err); } else { res.status(200).send(results[0]); } }); }); // 删除用户 app.delete('/users/:id', (req, res) => { const id = req.params.id; connection.query('DELETE FROM users WHERE id = ?', id, (err, results) => { if (err) { res.status(500).send(err); } else { res.status(200).send(results); } }); }); // 启动服务器 app.listen(3000, () => { console.log('Server started on port 3000'); });
上記のコードでは、body-parser ミドルウェアを使用して、受信した JSON データを解析します。 .urlencoded データの解析もサポートしています。ルーターを、新しいユーザーの作成、ユーザー情報の取得、ユーザーの削除を行う POST、GET、および DELETE 操作として定義します。各リクエストでは、connection.query() 関数を使用して SQL クエリを実行し、結果をクライアントに返します。クエリが失敗すると、500 エラーが返されます。
ここで、curl コマンドを使用して API をテストできます。コマンドの例をいくつか示します。
新しいユーザーの作成:
curl -X POST -H 'Content-Type: application/json' -d '{"name": "Alice", "email": "alice@example.com"}' http://localhost:3000/users
ユーザー情報の取得:
curl http://localhost:3000/users/1
ユーザーの削除:
curl -X DELETE http://localhost:3000/users/1
これで、正常に作成されました。 Node.js と MySQL を使用したシンプルなデータベース サーバー。これを拡張して、より多くの API 操作をサポートしたり、MongoDB や PostgreSQL などの他のデータベース システムを使用したりすることができます。
以上がNodejsデータベースサーバーのセットアップの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。