JavaScript - node + express + mysql2 - アクセス


クラウディア 


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」軍曹を参考にさせていただきました。

EaseUS
AbemaTV 無料体験
5G CONNECT