node.js 开发指南 ? Node.js 连接 MySQL 并进行数据库操作


Posted in Javascript onJuly 29, 2014

Node.js是一套用来编写高性能网络服务器的JavaScript工具包
 
通常在NodeJS开发中我们经常涉及到操作数据库,尤其是 MySQL ,作为应用最为广泛的开源数据库则成为我们的首选,本篇就来介绍下如何通过NodeJS来操作 MySQL 数据库。 安装MySQL模块到NodeJS中 我们需要让NodeJS支持MySQL,则需要将MySQL模块添加到系统支持库
 
想要快速了解Node.js ,赞生推荐亲看看 node.js_guide.pdf  — node.js 开发指南 :想要电子版高清的 留言发送
 
如果不想留言 可以带你做飞机! 直接下载
 
Node.js
简单介绍一下node.js的操作吧
安装 node-mysql
C代码  

$ npm install mysql

 
创建测试表
//数据库名 NodeSample
C代码  

CREATE TABLE `NodeSample`.`MyTable` ( 
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY , 
`firstname` VARCHAR( 20 ) NOT NULL , 
`lastname` VARCHAR( 20 ) NOT NULL , 
`message` TEXT NOT NULL 
) ENGINE = MYISAM ;

 
连接数据库
Js代码  

var sys = require('sys'); 
 
var Client = require('mysql').Client; 
var client = new Client(); 
 
client.user = 'someuser'; 
client.password = 'password'; 
 
client.connect(function(error, results) { 
if(error) { 
console.log('Connection Error: ' + error.message); 
return; 
} 
console.log('Connected to MySQL'); 
});

 
打开数据库
Js代码  

ClientConnectionReady = function(client) 
{ 
client.query('USE NodeSample', function(error, results) { 
if(error) { 
console.log('ClientConnectionReady Error: ' + error.message); 
client.end(); 
return; 
} 
}); 
};

 
完成数据库操作程序
Js代码 

var sys = require('sys'); 
 
var Client = require('mysql').Client; 
var client = new Client(); 
 
client.user = 'someuser'; 
client.password = 'password'; 
 
console.log('Connecting to MySQL...'); 
 
client.connect(function(error, results) { 
if(error) { 
console.log('Connection Error: ' + error.message); 
return; 
} 
console.log('Connected to MySQL'); 
ClientConnectionReady(client); 
}); 
 
ClientConnectionReady = function(client) 
{ 
client.query('USE NodeSample', function(error, results) { 
if(error) { 
console.log('ClientConnectionReady Error: ' + error.message); 
client.end(); 
return; 
} 
ClientReady(client); 
}); 
}; 
 
ClientReady = function(client) 
{ 
var values = ['Chad', 'Lung', 'Hello World']; 
client.query('INSERT INTO MyTable SET firstname = ?, lastname = ? , message = ?', values, 
function(error, results) { 
if(error) { 
console.log("ClientReady Error: " + error.message); 
client.end(); 
return; 
} 
console.log('Inserted: ' + results.affectedRows + ' row.'); 
console.log('Id inserted: ' + results.insertId); 
} 
); 
GetData(client); 
} 
 
GetData = function(client) 
{ 
client.query( 
'SELECT * FROM MyTable', 
function selectCb(error, results, fields) { 
if (error) { 
console.log('GetData Error: ' + error.message); 
client.end(); 
return; 
} 
// Uncomment these if you want lots of feedback 
//console.log('Results:'); 
//console.log(results); 
//console.log('Field metadata:'); 
//console.log(fields); 
//console.log(sys.inspect(results)); 
 
if(results.length > 0) 
{ 
var firstResult = results[0]; 
console.log('First Name: ' + firstResult['firstname']); 
console.log('Last Name: ' + firstResult['lastname']); 
console.log('Message: ' + firstResult['message']); 
} 
}); 
 
client.end(); 
console.log('Connection closed'); 
};
Javascript 相关文章推荐
延时重复执行函数 lLoopRun.js
May 08 Javascript
基于jQuery的模仿新浪微博时间的组件
Oct 04 Javascript
jQuery LigerUI 使用教程入门篇
Jan 18 Javascript
详解js闭包
Sep 02 Javascript
js兼容火狐获取图片宽和高的方法
May 21 Javascript
浅谈js中用$(#ID)来作为选择器的问题(id重复的时候)
Feb 14 Javascript
vue 项目中使用Loading组件的示例代码
Aug 31 Javascript
详解如何webpack使用DllPlugin
Sep 30 Javascript
Vue自定义指令上报Google Analytics事件统计的方法
Feb 25 Javascript
layui的表单验证支持ajax判断用户名是否重复的实例
Sep 06 Javascript
vue 实现走马灯效果
Oct 28 Javascript
VUE异步更新DOM - 用$nextTick解决DOM视图的问题
Nov 06 Javascript
js返回前一页刷新本页重载页面
Jul 29 #Javascript
extjs 如何给column 加上提示
Jul 29 #Javascript
extjs 分页使用jsp传递数据示例
Jul 29 #Javascript
把文本中的URL地址转换为可点击链接的JavaScript、PHP自定义函数
Jul 29 #Javascript
JavaScript eval() 函数介绍及应用示例
Jul 29 #Javascript
javascript从image转换为base64位编码的String
Jul 29 #Javascript
javascript自定义函数参数传递为字符串格式
Jul 29 #Javascript
You might like
yii2学习教程之5种内置行为类详解
2017/08/03 PHP
js类中的公有变量和私有变量
2008/07/24 Javascript
ie浏览器使用js导出网页到excel并打印
2014/03/11 Javascript
前端轻量级MVC框架CanJS详解
2014/09/26 Javascript
使用JS获取当前地理位置方法汇总
2014/12/18 Javascript
jQuery中dom元素上绑定的事件详解
2015/04/24 Javascript
jQuery实现带玻璃流光质感的手风琴特效
2015/11/20 Javascript
JS函数的几种定义方式分析
2015/12/17 Javascript
JavaScript 定时器 SetTimeout之定时刷新窗口和关闭窗口(代码超简单)
2016/02/26 Javascript
使用Sticky组件实现带sticky效果的tab导航和滚动导航的方法
2016/03/22 Javascript
js实现将json数组显示前台table中
2017/01/10 Javascript
jQuery实现表格奇偶行显示不同背景色 就这么简单
2017/03/13 Javascript
谈谈对vue响应式数据更新的误解
2017/08/01 Javascript
vue2.0 如何把子组件的数据传给父组件(推荐)
2018/01/15 Javascript
vue 组件使用中的一些细节点
2018/04/25 Javascript
详解vue 兼容IE报错解决方案
2018/12/29 Javascript
浅谈使用nodejs搭建web服务器的过程
2020/07/20 NodeJs
vue select 获取value和lable操作
2020/08/28 Javascript
vue实现可移动的悬浮按钮
2021/03/04 Vue.js
python使用Berkeley DB数据库实例
2014/09/26 Python
Eclipse中Python开发环境搭建简单教程
2016/03/23 Python
django批量导入xml数据
2016/10/16 Python
django 修改server端口号的方法
2018/05/14 Python
python模块smtplib学习
2018/05/22 Python
Python3.6简单的操作Mysql数据库的三个实例
2018/10/17 Python
python实现实时视频流播放代码实例
2020/01/11 Python
Keras预训练的ImageNet模型实现分类操作
2020/07/07 Python
Jupyter安装拓展nbextensions及解决官网下载慢的问题
2021/03/03 Python
Sarenza德国:法国最大的时尚鞋和包包网上商店
2019/06/08 全球购物
介绍一下ICMP(Internet Control Message Protocol)Internet控制信息协议
2016/11/26 面试题
个人优缺点自我评价
2014/01/27 职场文书
环保建议书600字
2014/05/14 职场文书
高中生自我评价范文2015
2015/03/03 职场文书
信用卡催款律师函
2015/05/27 职场文书
Go语言切片前或中间插入项与内置copy()函数详解
2021/04/27 Golang
Go语言安装并操作redis的go-redis库
2022/04/14 Golang