2-4:MySQL関連の環境設定

当サイトではアフィリエイト広告を利用して商品を紹介しています。
当サイトではアフィリエイト広告を利用して商品を紹介しています。

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

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

タイトルとURLをコピーしました