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