引言: 繼前面的NodeJS的Hello,World!我們還可以看到其他強大之處,NodeJS現在社區的火熱,以及大批工程師對它的支持之下,現在已經陸續的引出了大量的module出來了。
內容: 下面這個所演示的是NodeJS與Mysql 的交互。
這時需要為NodeJS加入Mysql 的Module了,這時前一章說到的npm(Node package manager)啟到作用了。
把Mysql Module裝到NodeJS中:
代碼如下:
$npm install Mysql
JS腳本 mysqlTest.js
代碼如下:
// mysqlTest.js
//加載mysql Module
var Client = require(‘mysql').Client,
client = new Client(),
//要創建的數據庫名
TEST_DATABASE = ‘nodejs_mysql_test',
//要創建的表名
TEST_TABLE = ‘test';
//用戶名
client.user = ‘root';
//密碼
client.password = ‘root';
//創建連接
client.connect();
client.query(‘CREATE DATABASE ‘+TEST_DATABASE, function(err) {
if (err && err.number != Client.ERROR_DB_CREATE_EXISTS) {
throw err;
}
});
// If no callback is provided, any errors will be emitted as `'error'`
// events by the client
client.query(‘USE ‘+TEST_DATABASE);
client.query(
‘CREATE TABLE ‘+TEST_TABLE+
‘(id INT(11) AUTO_INCREMENT, ‘+
‘title VARCHAR(255), ‘+
‘text TEXT, ‘+
‘created DATETIME, ‘+
‘PRIMARY KEY (id))'
);
client.query(
‘INSERT INTO ‘+TEST_TABLE+' ‘+
‘SET title = ?, text = ?, created = ?',
['super cool', 'this is a nice text', '2010-08-16 10:00:23']
);
var query = client.query(
‘INSERT INTO ‘+TEST_TABLE+' ‘+
‘SET title = ?, text = ?, created = ?',
['another entry', 'because 2 entries make a better test', '2010-08-16 12:42:15']
);
client.query(
‘SELECT * FROM ‘+TEST_TABLE,
function selectCb(err, results, fields) {
if (err) {
throw err;
}
console.log(results);
console.log(fields);
client.end();
}
);
執行腳本
代碼如下:
node mysqlTest.js
效果如下: