首页 > 代码库 > node.js连接mysql
node.js连接mysql
第一步
到node.js官网 下载相对应的node.js版本
通用的傻瓜式安装,下一步下一步即可
第二步 开始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
如果看到这个页面,恭喜你进入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 = http://www.mamicode.com/‘‘; 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
运行的结果是这样的
但是控制打印终究不是很好,实际中给用户看的数据是浏览器上观看。
第四步
将查询出来的数据展示到浏览器上
这里需要安装node.js web组件
sudo npm install -g expresssudo 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"
现在总算可以啦 ,看到这个画面很亲切。
这些是自己的一步步去研究的,如果有什么不了解可以去看下 w3cschool 看下node.js 教程
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。