码迷,mamicode.com
首页 > 数据库 > 详细

node.js连接mysql

时间:2014-08-21 01:32:53      阅读:343      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   使用   os   io   strong   

 第一步

    到node.js官网 下载相对应的node.js版本

  bubuko.com,布布扣

      通用的傻瓜式安装,下一步下一步即可

   第二步 开始node.js 初体验

         新建一个文件命名为  hello.js

         内容如下

              

var http = require(‘http‘);
  http.createServer(function (req, res) {
    res.writeHead(200, {‘Content-Type‘: ‘text/plain‘});
    res.end(‘Hello World node.js \n‘);

  }).listen(1337, "127.0.0.1");
  console.log(‘Server running at http://127.0.0.1:1337/‘);

打开命令行 切换到脚本的路径
node hello.js

浏览器访问地址 :

http://127.0.0.1:1337  
bubuko.com,布布扣
如果看到这个页面,恭喜你进入node.js 世界

    

    我们可以尝试分析下这段简短的代码

  • 第一行请求(require)Node.js 自带的 http 模块,并且把它赋值给 http 变量。
  • 接下来我们调用 http 模块提供的函数: createServer 。这个函数会返回 一个对象,这个对象有一个叫做 listen 的方法,这个方法有一个数值参数, 指定这个 HTTP 服务器监听的端口号。

 第三步: 使用node.js  和mysql 进行连接

       node.js默认安装时,模块文件放在 /usr/local/lib/node_modules 这个目录下;

        node.js 连接mysql 需要使用一个node.js 一个组件,      

1 $ cd /usr/local/lib         
2 $ sudo npm install mysql 

     创建测试表

 /*
 Navicat Premium Data Transfer

 Source Server         : 127.0.0.1
 Source Server Type    : MySQL
 Source Server Version : 50617
 Source Host           : 127.0.0.1
 Source Database       : test

 Target Server Type    : MySQL
 Target Server Version : 50617
 File Encoding         : utf-8

 Date: 08/20/2014 23:55:29 PM
*/

SET NAMES utf8;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
--  Table structure for `user`
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `userid` int(3) NOT NULL,
  `username` varchar(50) DEFAULT NULL,
  `userage` int(3) DEFAULT NULL,
  PRIMARY KEY (`userid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- ----------------------------
--  Records of `user`
-- ----------------------------
BEGIN;
INSERT INTO `user` VALUES (1, admin, 100), (2, xainzhi, 101);
COMMIT;

SET FOREIGN_KEY_CHECKS = 1;

与数据库连接获取数据, 新建文件 sql.js
var mysql      = require(‘mysql‘);
var clinet = mysql.createConnection({
  host     : ‘localhost‘,
  user     : ‘root‘,
  database : ‘test‘,
  password : ‘root‘,
  port:3306
});
 
clinet.connect();

 
 
    clinet.query(‘SELECT *  from user ‘, function(err, rows, fields) {
      if (err) throw err;
     
      var data = ‘‘;
        for(var i = 0; i < rows.length; i++){
             console.log(‘<p>‘ + ‘用户id:‘ + rows[i].userid + ‘</p>‘);
             console.log(‘<p>‘ + ‘用户姓名:‘ + rows[i].username+‘</p>‘);
             console.log(‘<p>‘ + ‘用户年龄:‘ + rows[i].userage + ‘</p>‘);
                 
        }
         
    });
 
 
clinet.end();

打开命令行 切换到脚本的路径
node sql.js
运行的结果是这样的

bubuko.com,布布扣

    但是控制打印终究不是很好,实际中给用户看的数据是浏览器上观看。

第四步

   将查询出来的数据展示到浏览器上

         这里需要安装node.js web组件

    

sudo npm install -g express
sudo npm install -d   

 在浏览器展示调用js

新建文件 demo.js

var express = require(express);
var mysql = require(mysql);
var app = express();
 
app.use(function(req, res, next){
  console.log(%s %s, req.method, req.url);
  next();
});
 
var conn = mysql.createConnection({
    host:localhost,
    user:root,
    database:test,
    password:root,
    port:3306
});
 
conn.connect();
app.get(/, function(req, res){
 
    conn.query(SELECT * from user, function(err, rows, fields) {
        if (err) throw err;
        var data = ‘‘;
        for(var i = 0; i < rows.length; i++){
            data += <p> + 用户id: + rows[i].userid + </p>;
            data += <p> + 用户名: + rows[i].username + </p>;
            data += <p> + 年龄: + rows[i].userage + </p>;
            data += <hr>;
        }
        res.send(data);
 
    });
});
 
app.listen(3000);
 
console.log(service URL:http://127.0.0.1:3000 );

 

打开命令行 切换到脚本的路径
node demo.js

  进行到这一步会报一个错误,

  Error: Cannot find module ‘express‘

  意思是找不到 express 组件 ,但到  /usr/local/lib/node_modules 下看时存在这个组件
这里需要配置环境变量,才能使用这个组件
export NODE_PATH="/usr/local/lib/node_modules"

   现在总算可以啦 ,看到这个画面很亲切。

bubuko.com,布布扣






    
      

 

  

  

 


 

    

 

 

 

 

 

 

       

 

 

                 

 

 

        

 

 

 

        

 

 

 

 

      

  

 

 

         

 

 

 

 

 

      这些是自己的一步步去研究的,如果有什么不了解可以去看下 w3cschool 看下node.js 教程

node.js连接mysql,布布扣,bubuko.com

node.js连接mysql

标签:style   blog   http   color   使用   os   io   strong   

原文地址:http://www.cnblogs.com/linxiaohaogood/p/3926032.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!