こんにちは、ライターのマサトです!今回は、データベースを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文を文字列で指定する
上記内容を踏まえて、ぜひ自分でもプログラミングに取り入れて活用できるように頑張りましょう!