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形式で表示されたら成功です。

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