node.jsでMySQLに接続する

提供: Node.js/JavaScript入門
移動: 案内検索
スポンサーリンク

node.jsからMySQLのデータベースにアクセスするには、mysqlモジュールを使用します。

読み方

mysql
まい えすきゅーえる

概要

node.jsからMySQLサーバに接続する例です。

データベースの事前準備

mysqlコマンドでmysqlserverに接続します。

$ mysql -u root -p

以下のコマンドで、データベースとテーブルを作成し、テストデータを入れます。

CREATE DATABASE test;
USE test;
CREATE TABLE test.USER (id INT, name VARCHAR(20));
INSERT INTO USER VALUES(1,'a');
INSERT INTO USER VALUES(2,'b');

インストール

mysqlモジュールをインストールします。

$ sudo npm install -g mysql

ソースコード

/*
 * mysql1.js
 * Copyright (C) 2014 kaoru <kaoru@bsd>
 */
var db_host = '127.0.0.1';
var db_user = 'root';
var db_pw = '';
var db_name = 'test';
 
var mysql = require('mysql');
var mysql_options = {
        host: db_host,
        user: db_user,
        password: db_pw,
        database: db_name
};
var my_client = mysql.createConnection(mysql_options);
my_client.connect();
 
var sql = 'select * from user';
 
var db_host = '127.0.0.1';
var db_user = 'root';
var db_pw = '';
var db_name = 'test';
 
var mysql = require('mysql');
var mysql_options = {
        host: db_host,
        user: db_user,
        password: db_pw,
        database: db_name
};
var my_client = mysql.createConnection(mysql_options);
my_client.connect();
 
var sql = 'select * from user';
 
my_client.query(sql, function (err, rows, fields) {
        if (err) {
                console.log('can not connect');
                console.log(err);
                return;
        }
 
        for (var i in rows) {
                console.log(rows[i]);
        }
});
my_client.end();

実行例

正常系

$ node mysql1.js
{ id: 1, name: 'a' }
{ id: 2, name: 'b' }

カラムを参照するときは、 . (ドット) でカラム名をつなぎます。

console.log(rows[i].user);

接続できないとき

MySQLサーバに接続できないときのエラーメッセージです。 以下の例では、MySQLサーバを起動していない状態です。

$ node mysql1.js
can not connect
{ [Error: connect ECONNREFUSED]
  code: 'ECONNREFUSED',
  errno: 'ECONNREFUSED',
  syscall: 'connect',
  fatal: true }

関連項目




スポンサーリンク