使用Node.js连接MySQL数据库

大数据学习路线图

假设已经在MySQL数据库中创建了一个名称为“test”的数据库,这个数据库中有一个student表,这个表有sno和sname两个字段。现在要创建Node.js应用服务器,查询MySQL数据库student表的信息并显示到网页上。

cd ~
mkdir mysqlnodeapp
cd mysqlnodeapp
npm init

在输入初始化项目命令“npm init”后,终端会提示输入项目的相关信息,并自动把这些信息记录在package.json中。如果想进行快捷开发,不想手动输入项目信息,只需要一直按“Enter”键即可,接受默认的自动配置。
然后,安装MySQL驱动模块,执行如下命令:

cd ~/mysqlnodeapp
npm install mysql

创建mysql.js文件:

cd ~/mysqlnodeapp
vim mysql.js

在mysql.js文件中输入如下内容:

var mysql = require('mysql');
var connection = mysql.createConnection({
  host     : '127.0.0.1',
  user     : 'root',
  password : '123456',

  port: '3306',
  database: 'test'
});
connection.connect();
console.log('Connecting to MySQL...');
http = require("http");

var server = http.createServer(function(request, response) {
    response.writeHeader(200, {"Content-Type": "text/html"});

    connection.query('SELECT * FROM student', function selectCb(err, results, fields) {
        if (err) {
            throw err;
        }

        var data = '';
        for (var i=0; i<results.length; i++) {
            var firstResult = results[i];
            data += 'sno: ' + firstResult['sno']+'sname: ' + firstResult['sname'];
        }

        response.write(data);
        response.end();
    });
});
server.listen(8080);
var sys = require("util");
console.log("Server running at http://localhost:8080/");

保存该文件。
然后启动Node.js服务器,命令如下:

cd ~/mysqlnodeapp
node mysql.js

这时,屏幕上会显示如下信息:

Connecting to MySQL...
Server running at http://localhost:8080/

然后,打开浏览器,输入地址: http://localhost:8080/,就可以在网页中看到从数据库中读取到的字段。