Node.js初探之與Mysql的交互
作者:sammor
繼前面的NodeJS的Hello,World!我們還可以看到其他強大之處,NodeJS現在社區的火熱,以及大批工程師對它的支持之下,現在已經陸續的引出了大量的module出來了。
繼前面的NodeJS的Hello,World!我們還可以看到其他強大之處,NodeJS現在社區的火熱,以及大批工程師對它的支持之下,現在已經陸續的引出了大量的module出來了。
內容: 下面這個所演示的是NodeJS與Mysql 的交互。
這時需要為NodeJS加入Mysql 的Module了,這時前一章說到的npm(Node package manager)啟到作用了。
把Mysql Module裝到NodeJS中
Js代碼
- $npm install Mysql
JS腳本 mysqlTest.js
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();
- }
- );
執行腳本
Js代碼
- root@sammor-desktop:/var/iapps/nodejs/work# node mysqlTest.js
這時,Mysql數據庫結果 顯示:


原文:http://www.iteye.com/topic/968847
【編輯推薦】
責任編輯:陳貽新
來源:
sammor