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 相关文章推荐
使用js获取地址栏中传递的值
Jul 02 Javascript
javaScript array(数组)使用字符串作为数组下标的方法
Nov 19 Javascript
巧用replace将文字表情替换为图片
Apr 17 Javascript
CSS3,HTML5和jQuery搜索框集锦
Dec 02 Javascript
谈一谈js中的执行环境及作用域
Mar 30 Javascript
JavaScript面试开发常用的知识点总结
Aug 08 Javascript
高效的jQuery代码编写技巧总结
Feb 22 Javascript
AngularJS 支付倒计时功能实现思路
Jun 05 Javascript
对于js垃圾回收机制的理解
Sep 14 Javascript
原生javascript实现的全屏滚动功能示例
Sep 19 Javascript
JavaScript实现计数器基础方法
Oct 10 Javascript
用Vue.js方法创建模板并使用多个模板合成
Jun 28 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
一个连接两个不同MYSQL数据库的PHP程序
2006/10/09 PHP
PHP strtok()函数的优点分析
2010/03/02 PHP
跨浏览器PHP下载文件名中的中文乱码问题解决方法
2015/03/05 PHP
PHP文件生成的图片无法使用CDN缓存的解决方法
2015/06/20 PHP
form表单传递数组数据、php脚本接收的实例
2017/02/09 PHP
php批量修改表结构实例
2017/05/24 PHP
laravel 配置路由 api和web定义的路由的区别详解
2019/09/03 PHP
网站如何做到完全不需要jQuery也可以满足简单需求
2013/06/27 Javascript
比例尺、缩略图、平移缩放之百度地图添加控件方法
2015/08/03 Javascript
JavaScript 监控微信浏览器且自带返回按钮时间
2016/11/27 Javascript
easyui datagrid 表格中操作栏 按钮图标不显示的解决方法
2017/07/27 Javascript
微信小程序实现自上而下字幕滚动
2018/07/14 Javascript
ionic2.0双击返回键退出应用
2019/09/17 Javascript
Javascript Dom元素获取和添加详解
2019/09/24 Javascript
Vue通过for循环随机生成不同的颜色或随机数的实例
2019/11/09 Javascript
微信小程序后端无法保持session的原因及解决办法问题
2020/03/20 Javascript
微信小程序获取当前时间及星期几的实例代码
2020/09/20 Javascript
vue使用canvas实现移动端手写签名
2020/09/22 Javascript
python 文件和路径操作函数小结
2009/11/23 Python
Python中基础的socket编程实战攻略
2016/06/01 Python
浅谈python中的面向对象和类的基本语法
2016/06/13 Python
widows下安装pycurl并利用pycurl请求https地址的方法
2018/10/15 Python
Python中三元表达式的几种写法介绍
2019/03/04 Python
Python多版本开发环境管理工具介绍
2019/07/03 Python
python web框架中实现原生分页
2019/09/08 Python
python+requests接口压力测试500次,查看响应时间的实例
2020/04/30 Python
Python如何使用ConfigParser读取配置文件
2020/11/12 Python
Otticanet意大利:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/03/10 全球购物
大学生职业生涯规划范文——找准自我,定位人生
2014/01/23 职场文书
公司门卫岗位职责
2014/03/15 职场文书
2015世界地球日活动总结
2015/02/09 职场文书
2015年安康杯竞赛活动总结
2015/03/26 职场文书
2015年安全生产管理工作总结
2015/05/25 职场文书
《平移和旋转》教学反思
2016/02/19 职场文书
详解PHP服务器如何在有限的资源里最大提升并发能力
2021/05/25 PHP
mysql序号rownum行号实现方式
2022/12/24 MySQL