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中的缓动效果实现程序
Dec 29 Javascript
jquery ajax应用中iframe自适应高度问题解决方法
Apr 12 Javascript
js实现全国省份城市级联下拉菜单效果代码
Sep 07 Javascript
分享javascript实现的冒泡排序代码并优化
Jun 05 Javascript
Javascript点击其他任意地方隐藏关闭DIV实例
Jun 21 Javascript
jQuery 3.0十大新特性
Jul 06 Javascript
js实现无缝滚动图(可控制当前滚动的方向)
Feb 22 Javascript
bootstrap下拉框动态赋值方法
Aug 10 Javascript
在vue.js中使用JSZip实现在前端解压文件的方法
Sep 05 Javascript
Vue 中的受控与非受控组件的实现
Dec 17 Javascript
在NPM发布自己造的轮子的方法步骤
Mar 09 Javascript
Vue实现商品分类菜单数量提示功能
Jul 26 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
如何分别全角和半角以避免乱码
2006/10/09 PHP
PHP函数之日期时间函数date()使用详解
2013/09/09 PHP
php通过分类列表产生分类树数组的方法
2015/04/20 PHP
PHP多态代码实例
2015/06/26 PHP
PHP排序算法之直接插入排序(Straight Insertion Sort)实例分析
2018/04/20 PHP
突发奇想的一个jquery插件
2010/11/19 Javascript
30分钟就入门的正则表达式基础教程
2013/02/25 Javascript
为开发者准备的10款最好的jQuery日历插件
2014/02/04 Javascript
JavaScript中常见获取元素的方法汇总
2015/03/04 Javascript
javaScript中push函数用法实例分析
2015/06/08 Javascript
简述Jquery与DOM对象
2015/07/10 Javascript
js判断上传文件后缀名是否合法
2016/01/28 Javascript
JavaScript中清空数组的三种方式
2017/03/22 Javascript
javascript将json格式数组下载为excel表格的方法
2017/12/22 Javascript
Vue实现表格中对数据进行转换、处理的方法
2018/09/06 Javascript
Mpvue中使用Vant Weapp组件库的方法步骤
2019/05/16 Javascript
解决vue cli使用typescript后打包巨慢的问题
2019/09/30 Javascript
javascript设计模式 ? 状态模式原理与用法实例分析
2020/04/22 Javascript
vue+elementUI动态增加表单项并添加验证的代码详解
2020/12/17 Vue.js
js动态添加带圆圈序号列表的实例代码
2021/02/18 Javascript
[53:15]2018DOTA2亚洲邀请赛3月29日 小组赛A组 KG VS OG
2018/03/30 DOTA
[51:27]LGD vs Liquid 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
python执行外部程序的常用方法小结
2015/03/21 Python
Tensorflow 实现修改张量特定元素的值方法
2018/07/30 Python
python 3.7.0 安装配置方法图文教程
2018/08/27 Python
在Python中等距取出一个数组其中n个数的实现方式
2019/11/27 Python
纯CSS3实现运行时钟的示例代码
2021/01/25 HTML / CSS
火山动力Java笔试题
2014/06/26 面试题
企业申诉管理制度
2014/01/30 职场文书
工程专业求职自荐书范文
2014/02/18 职场文书
初中军训感想300字
2014/03/05 职场文书
同学会演讲稿
2019/04/02 职场文书
合作意向书怎么写
2019/06/24 职场文书
使用react+redux实现计数器功能及遇到问题
2021/06/02 Javascript
Python基于百度AI实现抓取表情包
2021/06/27 Python
「我的青春恋爱物语果然有问题。-妄言录-」第20卷封面公开
2022/03/21 日漫