MySQL自体は以前にインストールしました。今回はMySQLを扱うためのパッケージを導入します。
MySQL関連の環境設定
@types/mysqlのインストール
mysqlをTypeScriptで扱えるようにするための@types/mysqlパッケージをインストールします。以下のコマンドをターミナルで実行します。
npm i @types/mysql
promise-mysqlのインストール
promise-mysqlのインストールします。promise-mysqlはMySQLの接続からクエリーの実行を扱うために使います。以下のコマンドをターミナルで実行します。
npm i promise-mysql
MySQLに接続してみる
.envにデータベースのアカウントデータを追加
MySQLに接続するため、まずは.envにデータベースのアカウントデータを追加します。DB_PASSWORDには各自で決めたパスワードを入力してください。
PORT=3000 # 以下の追加 # DB DB_HOST="localhost" DB_PORT=3306 DB_USER="root" DB_PASSWORD=パスワード DB_DATABASE="jpstocks_db"
app.tsにコードを追加
3行目でpromise-mysqlからmysqlをインポートします。8行目のapp.getを以下のように変更します。23行目からデータベースのアカウントデータを.envから参照してオブジェクトdbを作成します。30行目からMySQLに接続してconnectionに渡します。
import dotenv from "dotenv";
import express from "express";
import mysql from "promise-mysql"; // 追加
const app = express();
dotenv.config();
// 以下を追加
app.get("/", (req, res) => {
connection()
.then((connection) => {
const result = connection.query(
"SELECT * FROM jpmarket_tbl"
);
connection.end();
return result;
})
.then(function (rows) {
res.send(rows);
});
});
app.listen(process.env.PORT, () => {
console.log(
`Listening at http://localhost:${process.env.PORT}/`
);
});
// 以下を追加
const db = {
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
host: process.env.DB_HOST,
database: process.env.DB_DATABASE,
};
const connection = async () => {
return await mysql.createConnection(db);
};実行
以下のコマンドでnodemonを実行します。
npm run nodemon
以下のようにデータがJson形式で表示されたら成功です。

次回からは本格的にプログラミングをやっていきます。
