Node.js と Express.js を使って MariaDB データベースに接続し、データの挿入と取得を行う方法
Node.js と Express.js を使って MariaDB に接続する方法
前提条件
- Node.js がインストールされていること
必要なライブラリ
mysql
手順
- プロジェクトフォルダを作成し、そこに移動します。
- 以下のコマンドを実行して
mysql
ライブラリをインストールします。
npm install mysql
- 新しいファイル
app.js
を作成し、以下のコードを追加します。
const express = require('express');
const mysql = require('mysql');
const app = express();
// MariaDB への接続設定
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'password',
database: 'colt'
});
// 接続エラー時の処理
connection.connect((err) => {
if (err) {
console.error('Error connecting to the database:', err);
return;
}
console.log('Connected to the database!');
});
// サーバの起動
app.listen(3000, () => {
console.log('Server is listening on port 3000');
});
- 以下のコマンドを実行してサーバを起動します。
node app.js
- ブラウザで
http://localhost:3000
にアクセスすると、「Connected to the database!」というメッセージが表示されます。
データベースへの操作
上記のコードは、MariaDB データベースへの接続方法を示しています。データベースへの接続が成功したら、connection
オブジェクトを使用して、データベースへの読み書き操作を実行できます。
例:
// データの挿入
connection.query('INSERT INTO users (name, email) VALUES (?, ?)', ['John Doe', '[email protected]'], (err, results) => {
if (err) {
console.error('Error inserting data:', err);
return;
}
console.log('Data inserted successfully!');
});
// データの取得
connection.query('SELECT * FROM users', (err, results) => {
if (err) {
console.error('Error fetching data:', err);
return;
}
console.log('Data fetched successfully:', results);
});
このチュートリアルでは、Node.js と Express.js を使って MariaDB データベースに接続する方法を説明しました。このチュートリアルを参考に、自分のアプリケーションで MariaDB データベースを活用してみてください。
const express = require('express');
const mysql = require('mysql');
const app = express();
// MariaDB への接続設定
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'password',
database: 'colt'
});
// 接続エラー時の処理
connection.connect((err) => {
if (err) {
console.error('Error connecting to the database:', err);
return;
}
console.log('Connected to the database!');
});
// データの挿入
app.post('/users', (req, res) => {
const name = req.body.name;
const email = req.body.email;
connection.query('INSERT INTO users (name, email) VALUES (?, ?)', [name, email], (err, results) => {
if (err) {
console.error('Error inserting data:', err);
res.status(500).send('Error inserting data');
return;
}
console.log('Data inserted successfully!');
res.status(200).send('Data inserted successfully!');
});
});
// データの取得
app.get('/users', (req, res) => {
connection.query('SELECT * FROM users', (err, results) => {
if (err) {
console.error('Error fetching data:', err);
res.status(500).send('Error fetching data');
return;
}
console.log('Data fetched successfully:', results);
res.status(200).send(results);
});
});
// サーバの起動
app.listen(3000, () => {
console.log('Server is listening on port 3000');
});
このコードを app.js
というファイルに保存し、以下のコマンドを実行してサーバを起動します。
node app.js
ブラウザで http://localhost:3000/users
にアクセスすると、データベースに保存されているユーザーデータが表示されます。
説明
- このコードは、Express.js を使ってシンプルな API を作成しています。
/users
への POST リクエストは、データベースに新しいユーザーデータを挿入します。mysql
ライブラリを使用して、MariaDB データベースへの接続と操作を行います。
応用
このコードを参考に、自分のアプリケーションで MariaDB データベースを活用してみてください。
- ユーザー認証
- データの保存と取得
- データの更新と削除
など、さまざまな操作を行うことができます。
Node.js と Express.js を使って MariaDB に接続する他の方法
ORM (Object-Relational Mapping) の使用
ORM を使用すると、SQL クエリを記述することなく、オブジェクト指向のコードでデータベース操作を行うことができます。
例:Sequelize を使用したサンプルコード
const Sequelize = require('sequelize');
const sequelize = new Sequelize('colt', 'root', 'password', {
host: 'localhost',
dialect: 'mariadb'
});
const User = sequelize.define('users', {
name: Sequelize.STRING,
email: Sequelize.STRING
});
// データの挿入
User.create({
name: 'John Doe',
email: '[email protected]'
});
// データの取得
User.findAll().then(users => {
console.log(users);
});
SQL クエリビルダーは、SQL クエリをプログラムコードで生成してくれるライブラリです。代表的な SQL クエリビルダーとしては、knex や bookshelf などがあります。
SQL クエリビルダーを使用すると、複雑な SQL クエリを簡単に記述することができます。
const knex = require('knex')({
client: 'mysql',
connection: {
host: 'localhost',
user: 'root',
password: 'password',
database: 'colt'
}
});
// データの挿入
knex('users').insert({
name: 'John Doe',
email: '[email protected]'
});
// データの取得
knex('users').select('*').then(users => {
console.log(users);
});
その他の方法
上記以外にも、さまざまな方法で Node.js と Express.js を使って MariaDB に接続することができます。
- 公式の MariaDB ドライバーを使用する
- 自作のモジュールを作成する
など、さまざまな選択肢があります。
どの方法を選択するべきかは、開発者のスキルや経験、プロジェクトの要件によって異なります。
- 初心者の場合は、ORM を使用するのがおすすめです。
- 複雑な SQL クエリを記述する必要がある場合は、SQL クエリビルダーを使用するのがおすすめです。
- より細かい制御が必要な場合は、公式の MariaDB ドライバーを使用するか、自作のモジュールを作成するのがおすすめです。
Node.js と Express.js を使って MariaDB に接続するには、さまざまな方法があります。それぞれの方法の特徴を理解し、プロジェクトに合った方法を選択してください。
web mariadb colt