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'); };