锁定老帖子 主题:NodeJS初探之二——与Mysql的交互
精华帖 (0) :: 良好帖 (2) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-03-20
最后修改:2011-03-20
引言: 继前面的NodeJS的Hello,World!我们还可以看到其他强大之处,NodeJS现在社区的火热,以及大批工程师对它的支持之下,现在已经陆续的引出了大量的module出来了。
内容: 下面这个所演示的是NodeJS与Mysql 的交互。 这时需要为NodeJS加入Mysql 的Module了,这时前一章说到的npm(Node package manager)启到作用了。
把Mysql Module装到NodeJS中 $npm install Mysql
JS脚本 mysqlTest.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(); } );
执行脚本 root@sammor-desktop:/var/iapps/nodejs/work# node mysqlTest.js
这时,Mysql数据库结果 显示:
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-03-22
Ubuntu~
|
|
返回顶楼 | |
发表时间:2011-03-23
windows下如何使用?
|
|
返回顶楼 | |
发表时间:2011-03-23
http://si-w.co.uk/blog/2011/01/23/installing-node-js-on-windows/
|
|
返回顶楼 | |
发表时间:2011-03-23
看起来真的很不错哦~~~
|
|
返回顶楼 | |
发表时间:2011-05-31
那是不是还得自己来封装 可用的 db库啊 郁闷
|
|
返回顶楼 | |
发表时间:2011-06-01
vb2005xu 写道 那是不是还得自己来封装 可用的 db库啊 郁闷
这个是可以自己封装的,但现在已经有扩展的插件已经出来了,可以直接使用 |
|
返回顶楼 | |
发表时间:2011-07-28
回复一个容易么。。。。
楼主太给力了,看了这么多NODE.JS参考资料,终于看到中文的了,肉牛满面~~~ 不知楼主能把mysql的原版API地址发出来吗? |
|
返回顶楼 | |
发表时间:2012-02-07
我用的楼主的代码报错啊:
node.js:201 connect() is now done automatically |
|
返回顶楼 | |
发表时间:2012-02-13
sumaolin 写道 我用的楼主的代码报错啊:
node.js:201 connect() is now done automatically 有点久了哦,我这边都没有环境了,记得之前说有人回复说client.connect();注释掉。你再看看 :) |
|
返回顶楼 | |