Node.jsアプリケーションとMySQLを接続しよう!
目安時間:30分
この記事では、Node.jsアプリケーションとMySQLを接続する方法についてご紹介します。
◯ 必要なもの・知識
- Node.jsがインストールされたPC
- Node.js 学習コースⅠ~Ⅱの知識
- SQL 学習コースⅠの知識
- Node.jsの新規アプリケーションを作ろう!の知識
◯事前に読むことをお勧めする記事
- MySQLのインストール
- MySQLの使い方
- Node.jsの新規アプリケーションを作ろう!
1. Node.jsアプリケーションとMySQLを接続しよう
基本となるアプリケーションの準備
MySQLを接続するアプリケーションを準備しましょう。
接続したいアプリケーションがない場合は、Node.jsの新規アプリケーションを作ろう!を参考に、簡単なアプリケーションを作ってください。
mysqlパッケージのインストール
まず最初にmysqlパッケージをインストールしましょう。
アプリケーションフォルダ(list-app)の直下で下記のコマンドを実行してください。
npm install mysql
データベースとテーブルを作成しよう
今回は、以下のような構成のデータベースを使用します。カラム名や実際のデータは自由に作成してください。データベースの作り方についてはMySQLでデータベースを作成しようを参考にしてください。
データベース名: list_app
テーブル名: users
mysqlの設定情報を記述しよう
mysqlパッケージを
app.js
で読み込み、接続するMySQLの情報を記述していきましょう。
app.js
に以下の接続情報を記述してください。パスワードはインストール時に自分で設定したものを使ってください。
- app.js
const express = require('express');
const mysql = require('mysql');
const app = express();
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '設定したパスワード',
database: 'list_app'
});
次に、MySQLへの接続ができていないときにエラーを表示するようにしましょう。
- app.js
connection.connect((err) => {
if (err) {
console.log('error connecting: ' + err.stack);
return;
}
console.log('success');
});
MySQLから情報を取得して表示するコードを書きましょう。今回は試しに、
localhost:3000/
にアクセスしたときにデータベースの内容が
console.log()で出力されるようにします。
- app.js
app.get('/', (req, res) => {
connection.query(
'SELECT * FROM users',
(error, results) => {
console.log(results);
res.render('hello.ejs');
}
);
});
app.listen(3000);
最終的に
app.js
が以下のようになれば完成です。
最後に、
localhost:3000/
にアクセスしたときに表示するビューファイルをviews/hello.ejs
に作成しましょう。
- views/hello.ejs
<h1>Hello World</h1>
app.js
を保存したら、node
app.js
もしくはnodemon
app.js
を実行してサーバーを起動し、localhost:3000/
にアクセスしてください。
ターミナルに以下のようにデータが表示されれば成功です!
(おまけ) 試しに接続情報を変えてみよう
データベースに接続できなかった場合にエラーメッセージが出力されることを確かめてみましょう。試しに以下のようにデータベース名を変更して、テーブル情報が表示されないことを確認しましょう。
コメントをお書きください