【Node.js入門】MySQLを使ったデータベース操作方法まとめ!

こんにちは、ライターのマサトです!今回は、データベースをNode.jsから操作するためにMySQLを使ったプログラミングについて学習していきましょう!この記事では、

  • MySQLとは?
  • Node.jsでMySQLを使う
  • Node.jsからCRUD操作する

というように、基本的な内容から応用的な使い方に関しても解説していきます。この記事で、Node.jsによるMySQL操作をしっかり学習して自分のスキルアップを目指しましょう!

目次

「MySQL」とは?

それでは、まずMySQLについておさらいをしておきましょう!

MySQLは、SQL言語をベースにしたデータベース管理システムのことであり、オープンソースで無料公開されています。WordPressなどさまざまなサービスでも利用されており、大量のデータを安全に高速かつ効率よく管理できるのが特徴です。

Node.jsでMySQLを操作するには、すでに専用のモジュールがリリースされているので簡単に扱えるのも大きなメリットでしょう。本記事では、Node.jsを使って簡単なデータベースのCRUD操作を解説していきますのでぜひ参考にしてみてください!

Node.jsでMySQLを使う

この章では、Node.jsでMySQLを使う基本的な方法について見ていきましょう!主に、モジュールの導入とサーバーへの接続方法について学んでいきます。

mysqlモジュールの導入方法

まずは、MySQLを扱うためのモジュールを導入していきましょう!一般的には、npmを使って次のようにモジュールをインストールするのが簡単でしょう。

$ npm install mysql

モジュールをインストールしたら、require()で利用できるように準備しておきます。

var mysql = require('mysql');

これで、Node.jsからMySQLを操作するための準備は完了です。

MySQLサーバーと接続する方法

早速ですが、インストールしたモジュールを使ってMySQLサーバーに接続してみましょう!接続を確立するにはcreateClient()メソッドを次のように利用します。

var client = mysql.createClient({

    host: ‘sample.com‘,
    user: ‘ユーザー名’,
    password: ‘パスワード‘,
    database: ‘データベース名‘

});

サーバーの「ユーザー名」「パスワード」を記述して、利用するデータベース名を設定するだけなので簡単です。ちなみに、新規にデータベースを作成するのであれば次のように記述することでNode.js側から作成することも可能です。

client.query(‘CREATE DATABASE sample‘);
client.useDatabase(‘sample‘);

この例では、SQL文を使って「sample」という新規のデータベースを作成しています。

Node.jsからCRUD操作する

この章では、mysqlモジュールを活用したCRUD操作を見ていきましょう!主に、データの作成・読み込み・更新・削除について学んでいきます。

データの新規作成

まずは、データベースに新規のデータを作成する方法から見ていきましょう!基本的にはquery()メソッドを使ってSQL文を書いていくのが簡単です。

client.query('INSERT INTO user’, {name:'taro', age:30}, function(error, response) {

    if(error) throw error;

    console.log(response);

})

この例では、INSERTを使って「name」「age」という2つのデータと値をデータベースに新規追加しています。主に、第1引数にSQL文を文字列で記述し、第2引数へ追加するデータを設定して第3引数に関数処理を記述します。

関数内の処理は新規にデータが追加されたあとに実行されます。

データを読み込む

次に、データベースに登録されているデータを読み込んでみましょう!この場合はSELECTを使って読み込むデータを指定します。

client.query('SELECT * FROM user’, function(error, response) {

    if(error) throw error;

    console.log(response);

})

この例では、「*」を使用することで「user」に登録されているデータをすべて読み込むという処理になります。読み込めなかった場合のことも考慮して、関数内にエラー処理を記述するのを忘れないようにしておきましょう。

データを更新する

今度はデータベースに登録されているデータを更新(修正)してみましょう!使うのはUPDATEで、例えば「taro」というユーザーの年齢を「35」に更新するには次のように記述します。

client.query('UPDATE user SET age = ? WHERE name = ?’, [35, ’taro’], function(error, response) {

    if(error) throw error;

    console.log(response);

})

SQL文に注目してください!「?」で記述した部分は、第2引数に配列として指定することが可能です。また、「SET age = ?」で新しい値をageに代入することになり、「WHERE name = ?」でどのデータを更新するかを指定できます。

データを削除する

最後に、任意のデータベースに登録されているデータを削除してみましょう!利用するのはDELETEで、特定のデータを指定するだけで削除することが可能です。

client.query('DELETE FROM user WHERE name = ?’, [’taro’], function(error, response) {

    if(error) throw error;

    console.log(response);

})

この例では、「WHERE name = ?」で第2引数に指定した名前のデータを削除するという意味になります。

まとめ

今回は、Node.jsからMySQLデータベースを操作するプログラミング手法について学習しました。最後に、もう一度ポイントをおさらいしておきましょう!

  • Node.jsでMySQLを操作するにはmysqlモジュールを導入するのが簡単
  • MySQLサーバーに接続するにはcreateClient()を使う
  • CRUD操作にはquery()を使ってSQL文を文字列で指定する

上記内容を踏まえて、ぜひ自分でもプログラミングに取り入れて活用できるように頑張りましょう!

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

目次