node.js 开发指南 – Node.js 连接 MySQL 并进行数据库操作
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代码
$npminstallmysql
创建测试表
//数据库名NodeSample
C代码
CREATETABLE`NodeSample`.`MyTable`( `id`INTUNSIGNEDNOTNULLAUTO_INCREMENTPRIMARYKEY, `firstname`VARCHAR(20)NOTNULL, `lastname`VARCHAR(20)NOTNULL, `message`TEXTNOTNULL )ENGINE=MYISAM;
连接数据库
Js代码
varsys=require('sys');
varClient=require('mysql').Client;
varclient=newClient();
client.user='someuser';
client.password='password';
client.connect(function(error,results){
if(error){
console.log('ConnectionError:'+error.message);
return;
}
console.log('ConnectedtoMySQL');
});
打开数据库
Js代码
ClientConnectionReady=function(client)
{
client.query('USENodeSample',function(error,results){
if(error){
console.log('ClientConnectionReadyError:'+error.message);
client.end();
return;
}
});
};
完成数据库操作程序
Js代码
varsys=require('sys');
varClient=require('mysql').Client;
varclient=newClient();
client.user='someuser';
client.password='password';
console.log('ConnectingtoMySQL...');
client.connect(function(error,results){
if(error){
console.log('ConnectionError:'+error.message);
return;
}
console.log('ConnectedtoMySQL');
ClientConnectionReady(client);
});
ClientConnectionReady=function(client)
{
client.query('USENodeSample',function(error,results){
if(error){
console.log('ClientConnectionReadyError:'+error.message);
client.end();
return;
}
ClientReady(client);
});
};
ClientReady=function(client)
{
varvalues=['Chad','Lung','HelloWorld'];
client.query('INSERTINTOMyTableSETfirstname=?,lastname=?,message=?',values,
function(error,results){
if(error){
console.log("ClientReadyError:"+error.message);
client.end();
return;
}
console.log('Inserted:'+results.affectedRows+'row.');
console.log('Idinserted:'+results.insertId);
}
);
GetData(client);
}
GetData=function(client)
{
client.query(
'SELECT*FROMMyTable',
functionselectCb(error,results,fields){
if(error){
console.log('GetDataError:'+error.message);
client.end();
return;
}
//Uncommenttheseifyouwantlotsoffeedback
//console.log('Results:');
//console.log(results);
//console.log('Fieldmetadata:');
//console.log(fields);
//console.log(sys.inspect(results));
if(results.length>0)
{
varfirstResult=results[0];
console.log('FirstName:'+firstResult['firstname']);
console.log('LastName:'+firstResult['lastname']);
console.log('Message:'+firstResult['message']);
}
});
client.end();
console.log('Connectionclosed');
};