- 1. 概要
- 2. テーブル
- 3. アクセス
- 3. 確認
- 4. 参考サイト
1. 概要
「MySQL」のテーブルへのアクセスを組み込んでみます。
2. テーブル
下記の構成でテーブルを作成しておきます。
CREATE TABLE table1
(
id SERIAL NOT NULL
, name TEXT NOT NULL
, address INT UNSIGNED NOT NULL
, PRIMARY KEY (id)
);
下記でレコードを作成しておきます。
INSERT INTO table1(name, address) VALUES ('wifi01', INET_ATON('192.168.10.1'));
3. アクセス
vi server.js
下記のソースを作成して。
const express = require('express');
const mysql = require('mysql2/promise');
const app = express();
app.use(express.json());
// ---- MySQL 接続プール ----
const pool = mysql.createPool({
host: 'localhost',
user: 'your_user',
password: 'your_password',
database: 'your_database',
waitForConnections: true,
connectionLimit: 10,
queueLimit: 0
});
// ---- ルート例:全ユーザー取得 ----
app.get('/users', async (req, res) => {
try {
const [rows] = await pool.query('SELECT id, name, INET_NTOA(address) as address FROM table1');
res.json(rows);
} catch (err) {
console.error(err);
res.status(500).send('Database error');
}
});
// ---- テスト用の基本ルート ----
app.get('/', (req, res) => {
res.send('Hello from Express + MySQL!');
});
// ---- サーバ起動 ----
app.listen(3000, () => {
console.log('Server running on http://localhost:3000');
});
9~15行の接続時のパラメータは、実際のデータベースに基づいたものを設定します。
4. 確認
node server.js
「http://localhost:3000」へアクセスすると、下記が表示されます。
「http://localhost:3000/table1」へアクセスすると、「SELECT」の結果が表示されます。
5. 参考サイト
本ページは、「ChatGPT」軍曹を参考にさせていただきました。
|