node.jsアプリからmysqlデータベースにアクセスするには、node-mysqlを使います。
node-mysqlのインストール
node-mysqlはnpmからインストールできます。コマンドラインから使うものではないので、globalでインストールする必要はありません。
npm install mysql
あとはnode-mysqlを使いたいプログラムで
require('mysql')
すればOK。PATHが通っていればmysqlのインストール場所等は特に設定しなくても問題ないようです。
クライアントの作成
データベースへのアクセスはclientオブジェクトを通じて行います。clientオブジェクトはcreateClient関数で作ります。データベースへのアクセスに使用したいアカウント情報を引数で指定できます。
var mysql = require('mysql') var client = mysql.createClient({user: 'root', password: ''});
クエリーの実行
clientオブジェクトにはquery関数が用意されており、単純にこの関数を使ってSQLを実行できます。
client.query('use mydatabase'); client.query("insert into mytable set name = 'foo'");
クエリー結果の取得
query関数には引数でコールバックを指定することができ、クエリーの実行結果を得ることができます。
client.query('select * from mytable', function myCallback(err, results, fields) { console.log(results); });
実行結果(results)はjsonの形で返されます。
[ { id: 1, name: 'foo' } ]
クライアントの破棄
最後に必要なくなったタイミングでclientオブジェクトを破棄します。clientオブジェクトが残ったままだとプログラムが終了しないので注意が必要です。
client.end();