nodejs中操作mysql数据库示例
引言:继前面的NodeJS的Hello,World!我们还可以看到其他强大之处,NodeJS现在社区的火热,以及大批工程师对它的支持之下,现在已经陆续的引出了大量的module出来了。
内容:下面这个所演示的是NodeJS与Mysql的交互。
这时需要为NodeJS加入Mysql的Module了,这时前一章说到的npm(Nodepackagemanager)启到作用了。
把MysqlModule装到NodeJS中:
$npminstallMysql
JS脚本mysqlTest.js
//mysqlTest.js //加载mysqlModule varClient=require(‘mysql').Client, client=newClient(),
//要创建的数据库名 TEST_DATABASE=‘nodejs_mysql_test', //要创建的表名 TEST_TABLE=‘test';
//用户名 client.user=‘root'; //密码 client.password=‘root'; //创建连接 client.connect();
client.query(‘CREATEDATABASE‘+TEST_DATABASE,function(err){ if(err&&err.number!=Client.ERROR_DB_CREATE_EXISTS){ throwerr; } });
//Ifnocallbackisprovided,anyerrorswillbeemittedas`'error'` //eventsbytheclient client.query(‘USE‘+TEST_DATABASE); client.query( ‘CREATETABLE‘+TEST_TABLE+ ‘(idINT(11)AUTO_INCREMENT,‘+ ‘titleVARCHAR(255),‘+ ‘textTEXT,‘+ ‘createdDATETIME,‘+ ‘PRIMARYKEY(id))' );
client.query( ‘INSERTINTO‘+TEST_TABLE+'‘+ ‘SETtitle=?,text=?,created=?', ['supercool','thisisanicetext','2010-08-1610:00:23'] );
varquery=client.query( ‘INSERTINTO‘+TEST_TABLE+'‘+ ‘SETtitle=?,text=?,created=?', ['anotherentry','because2entriesmakeabettertest','2010-08-1612:42:15'] );
client.query( ‘SELECT*FROM‘+TEST_TABLE, functionselectCb(err,results,fields){ if(err){ throwerr; }
console.log(results); console.log(fields); client.end(); } );