node.js 与mysql

Node.js采用事件驱动、异步编程,为网络服务而设计:
我对它的网络编程比较感兴趣。Node.js&NPM的安装与配置先看一段 hello world

var http = require('http');
http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World\n');
}).listen(1337, "127.0.0.1");
console.log('Server running at http://127.0.0.1:1337/');

mac 下面直接打开终端运行 node test.js  ,浏览器 http://127.0.0.1:1337 访问。
来看看如何与mysql结合,安装 mysql的模块$npm install mysql
因为这个模块一直在升级,所以所网上的历史代码都是行不通的。
参照它的官方文档使用它的最新用法https://github.com/felixge/node-mysql我测试的时候发现一个错误,按照提供的例子不能创建表,不过这个还好,创建数据库和表,直接用phpmyadmin好了,
直接查询一下,有结果了。

var mysql = require('mysql');
var TEST_DATABASE = 'nodejs_mysql_test';
var TEST_TABLE = 'test';
var client = mysql.createClient({
  host: '127.0.0.1',
  user: 'root',
  password: 'root',
});



// If no callback is provided, any errors will be emitted as `'error'`
// events by the client
client.query('USE '+TEST_DATABASE);


client.query(
  'SELECT * FROM '+TEST_TABLE,
  function selectCb(err, results, fields) {
    if (err) {
      throw err;
    }

    console.log(results);
    console.log(fields);
    client.end();
  }
);

最后的结果的 wp-content/uploads/2011/12/286336B8-5284-4962-BDC1-5D3CB529C587.png 汗汗,JS如此强悍,让我们这些写后端的情何以堪,JS会在特定领域,因为它的异步,I/O非阻塞。
特别是手机中,和html5结合大有一番作为,该死的app编程起来累死人,而且不知道为什么这么要用哪个组件。
JS发展这么多年,居然在这两年内因为node.js而名声大增,我也买了一本JS的书来补充一下知识。
《高性能 Javascript》

延伸阅读: https://github.com/visionmedia/express

https://github.com/LearnBoost/express-mongoose