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 相关文章推荐
javascript 写类方式之五
Jul 05 Javascript
使用cluster 将自己的Node服务器扩展为多线程服务器
Nov 10 Javascript
超棒的响应式布局jQuery插件Freetile.js
Nov 17 Javascript
javascript删除html标签函数cIsHTML
Jan 09 Javascript
纯JS实现轮播图
Feb 22 Javascript
详解Vue路由History mode模式中页面无法渲染的原因及解决
Sep 28 Javascript
JS高级技巧(简洁版)
Jul 29 Javascript
ES10 特性的完整指南小结
Mar 04 Javascript
详解基于mpvue微信小程序下载远程图片到本地解决思路
May 16 Javascript
layer 刷新某个页面的实现方法
Sep 05 Javascript
JavaScript数组排序小程序实现解析
Jan 13 Javascript
OpenLayers加载缩放控件使用方法详解
Sep 25 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
用PHP调用Oracle存储过程的方法
2008/09/12 PHP
php UTF-8、Unicode和BOM问题
2010/05/18 PHP
php二维数组转成字符串示例
2014/02/17 PHP
php基于mcrypt的加密解密实例
2014/10/27 PHP
浅谈PHP中foreach/in_array的使用
2015/11/02 PHP
php命令行(cli)模式下报require 加载路径错误的解决方法
2015/11/23 PHP
弹出模态框modal的实现方法及实例
2017/09/19 PHP
jquery使用append(content)方法注意事项分享
2014/01/06 Javascript
jquery实现pager控件示例
2014/04/09 Javascript
input标签内容改变的触发事件介绍
2014/06/18 Javascript
使用AngularJS处理单选框和复选框的简单方法
2015/06/19 Javascript
30分钟快速掌握Bootstrap框架
2016/05/24 Javascript
jquery分隔Url的param方法(推荐)
2016/05/25 Javascript
浅谈javascript中的加减时间
2016/07/12 Javascript
js前端面试题及答案整理(一)
2016/08/26 Javascript
webpack打包并将文件加载到指定的位置方法
2018/02/22 Javascript
jQuery中常用动画效果函数知识点整理
2018/08/19 jQuery
JavaScript对象字面量和构造函数原理与用法详解
2020/04/18 Javascript
Vue $attrs & inheritAttr实现button禁用效果案例
2020/12/07 Vue.js
python matplotlib实现双Y轴的实例
2019/02/12 Python
python实现按首字母分类查找功能
2019/10/31 Python
Pycharm 2020年最新激活码(亲测有效)
2020/09/18 Python
Python底层封装实现方法详解
2020/01/22 Python
Python JSON常用编解码方法代码实例
2020/09/05 Python
一款利用css3的鼠标经过动画显示详情特效的实例教程
2014/12/29 HTML / CSS
HTML5利用约束验证API来检查表单的输入数据的代码实例
2016/12/20 HTML / CSS
三星法国官方网站:Samsung法国
2019/10/31 全球购物
JD Sports丹麦:英国领先的运动时尚零售商
2020/11/24 全球购物
物流仓储实习自我鉴定
2013/09/25 职场文书
求职推荐信范文
2013/12/01 职场文书
网络书店创业计划书
2014/02/07 职场文书
实习推荐信
2014/05/10 职场文书
实名检举信范文
2015/03/02 职场文书
Html5生成验证码的示例代码
2021/05/10 Javascript
python3实现常见的排序算法(示例代码)
2021/07/04 Python
Win11应用商店打开闪退怎么解决? win11应用商店打不开的多种解决办法
2022/04/05 数码科技