|
|
51CTO旗下网站
|
|
移动端

Node.js初探之与Mysql的交互

继前面的NodeJS的Hello,World!我们还可以看到其他强大之处,NodeJS现在社区的火热,以及大批工程师对它的支持之下,现在已经陆续的引出了大量的module出来了。

作者:sammor来源:sammor|2011-09-08 10:32

继前面的NodeJS的Hello,World!我们还可以看到其他强大之处,NodeJS现在社区的火热,以及大批工程师对它的支持之下,现在已经陆续的引出了大量的module出来了。

内容: 下面这个所演示的是NodeJS与Mysql 的交互。

这时需要为NodeJS加入Mysql 的Module了,这时前一章说到的npm(Node package manager)启到作用了。

把Mysql Module装到NodeJS中

Js代码

  1. $npm install Mysql  

JS脚本 mysqlTest.js

Js代码

  1. // mysqlTest.js  
  2. //加载mysql Module  
  3. var Client = require('mysql').Client,  
  4.     client = new Client(),  
  5.  
  6.   //要创建的数据库名  
  7.     TEST_DATABASE = 'nodejs_mysql_test',  
  8.     //要创建的表名  
  9.     TEST_TABLE = 'test';  
  10.  
  11. //用户名  
  12. client.user = 'root';  
  13. //密码  
  14. client.password = 'root';  
  15. //创建连接  
  16. client.connect();  
  17.  
  18. client.query('CREATE DATABASE '+TEST_DATABASE, function(err) {  
  19.   if (err && err.number != Client.ERROR_DB_CREATE_EXISTS) {  
  20.     throw err;  
  21.   }  
  22. });  
  23.  
  24. // If no callback is provided, any errors will be emitted as `'error'`  
  25. // events by the client  
  26. client.query('USE '+TEST_DATABASE);  
  27. client.query(  
  28.   'CREATE TABLE '+TEST_TABLE+  
  29.   '(id INT(11) AUTO_INCREMENT, '+  
  30.   'title VARCHAR(255), '+  
  31.   'text TEXT, '+  
  32.   'created DATETIME, '+  
  33.   'PRIMARY KEY (id))' 
  34. );  
  35.  
  36. client.query(  
  37.   'INSERT INTO '+TEST_TABLE+' '+  
  38.   'SET title = ?, text = ?, created = ?',  
  39.   ['super cool''this is a nice text''2010-08-16 10:00:23']  
  40. );  
  41.  
  42. var query = client.query(  
  43.   'INSERT INTO '+TEST_TABLE+' '+  
  44.   'SET title = ?, text = ?, created = ?',  
  45.   ['another entry''because 2 entries make a better test''2010-08-16 12:42:15']  
  46. );  
  47.  
  48. client.query(  
  49.   'SELECT * FROM '+TEST_TABLE,  
  50.   function selectCb(err, results, fields) {  
  51.     if (err) {  
  52.       throw err;  
  53.     }  
  54.  
  55.     console.log(results);  
  56.     console.log(fields);  
  57.     client.end();  
  58.   }  
  59. );  

执行脚本

Js代码

  1. root@sammor-desktop:/var/iapps/nodejs/work# node mysqlTest.js  

这时,Mysql数据库结果 显示:

原文:http://www.iteye.com/topic/968847

【编辑推荐】

  1. Node.js入门之神秘的服务器端JavaScript
  2. 什么是Node.js?
  3. 亲爱的PHP我要离开你 因为我对NodeJs更有感
  4. 使用node.js进行服务器端JavaScript编程
  5. 浅析Node.js:一个“编码就绪”服务器
【责任编辑:陈贻新 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

Redis运维秘籍

Redis运维秘籍

运维标配技术
共15章 | one叶孤舟

57人订阅学习

活学活用 Ubuntu Server

活学活用 Ubuntu Server

实战直通车
共35章 | UbuntuServer

235人订阅学习

Java EE速成指南

Java EE速成指南

掌握Java核心
共30章 | 51CTO王波

89人订阅学习

读 书 +更多

嬴在用户:Web人物角色创建和应用实践指南

您如何保证您的网站确实给予用户他们所需要的,并对您产生商业成果?您需要了解谁是您的用户,您的用户的目标、行为和观点是什么,还要把他...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客