node.js是一套用来编写高性能网络服务器的javascript工具包
通常在nodejs开发中我们经常涉及到操作数据库,尤其是 mysql ,作为应用最为广泛的开源数据库则成为我们的首选,本篇就来介绍下如何通过nodejs来操作 mysql 数据库。 安装mysql模块到nodejs中 我们需要让nodejs支持mysql,则需要将mysql模块添加到系统支持库
想要快速了解node.js ,赞生推荐亲看看 node.js_guide.pdf — node.js 开发指南 :想要电子版高清的 留言发送
如果不想留言 可以带你做飞机! 直接下载
node.js
简单介绍一下node.js的操作吧
安装 node-mysql
c代码
$ npm install mysql
创建测试表
//数据库名 nodesample
c代码
create table `nodesample`.`mytable` ( `id` int unsigned not null auto_increment primary key , `firstname` varchar( 20 ) not null , `lastname` varchar( 20 ) not null , `message` text not null ) engine = myisam ;
连接数据库
js代码
var sys = require('sys'); var client = require('mysql').client; var client = new client(); client.user = 'someuser'; client.password = 'password'; client.connect(function(error, results) { if(error) { console.log('connection error: ' + error.message); return; } console.log('connected to mysql'); });
打开数据库
js代码
clientconnectionready = function(client) { client.query('use nodesample', function(error, results) { if(error) { console.log('clientconnectionready error: ' + error.message); client.end(); return; } }); };
完成数据库操作程序
js代码
var sys = require('sys'); var client = require('mysql').client; var client = new client(); client.user = 'someuser'; client.password = 'password'; console.log('connecting to mysql...'); client.connect(function(error, results) { if(error) { console.log('connection error: ' + error.message); return; } console.log('connected to mysql'); clientconnectionready(client); }); clientconnectionready = function(client) { client.query('use nodesample', function(error, results) { if(error) { console.log('clientconnectionready error: ' + error.message); client.end(); return; } clientready(client); }); }; clientready = function(client) { var values = ['chad', 'lung', 'hello world']; client.query('insert into mytable set firstname = ?, lastname = ? , message = ?', values, function(error, results) { if(error) { console.log(clientready error: + error.message); client.end(); return; } console.log('inserted: ' + results.affectedrows + ' row.'); console.log('id inserted: ' + results.insertid); } ); getdata(client); } getdata = function(client) { client.query( 'select * from mytable', function selectcb(error, results, fields) { if (error) { console.log('getdata error: ' + error.message); client.end(); return; } // uncomment these if you want lots of feedback //console.log('results:'); //console.log(results); //console.log('field metadata:'); //console.log(fields); //console.log(sys.inspect(results)); if(results.length > 0) { var firstresult = results[0]; console.log('first name: ' + firstresult['firstname']); console.log('last name: ' + firstresult['lastname']); console.log('message: ' + firstresult['message']); } }); client.end(); console.log('connection closed'); };
