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 相关文章推荐
AngularJS入门教程(零):引导程序
Dec 06 Javascript
TypeScript 学习笔记之基本类型
Jun 19 Javascript
深入理解MVC中的时间js格式化
May 19 Javascript
js实现页面a向页面b传参的方法
May 29 Javascript
微信小程序实战之登录页面制作(5)
Mar 30 Javascript
Webpack如何引入bootstrap的方法
Jun 17 Javascript
使用Webpack提高Vue.js应用的方式汇总(四种)
Jul 10 Javascript
CentOS环境中MySQL修改root密码方法
Jan 07 Javascript
小程序server请求微信服务器超时的解决方法
May 21 Javascript
后台使用freeMarker和前端使用vue的方法及遇到的问题
Jun 13 Javascript
Vue+Element ui 根据后台返回数据设置动态表头操作
Sep 21 Javascript
原生js生成图片验证码
Oct 11 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数据库(5)
2006/10/09 PHP
关于mysql字符集设置了character_set_client=binary 在gbk情况下会出现表描述是乱码的情况
2013/01/06 PHP
PHP进阶学习之类的自动加载机制原理分析
2019/06/18 PHP
JavaScript的eval JSON object问题
2009/11/15 Javascript
JQuery操作iframe父页面与子页面的元素与方法(实例讲解)
2013/11/20 Javascript
js实现获取当前时间是本月第几周的方法
2015/08/11 Javascript
jquery调整表格行tr上下顺序实例讲解
2016/01/09 Javascript
基于javascript实现简单的抽奖系统
2020/04/15 Javascript
Bootstrap图片轮播组件Carousel使用方法详解
2016/10/20 Javascript
清除输入框内的空格
2016/12/21 Javascript
原生js实现可爱糖果数字时间特效
2016/12/30 Javascript
jquery easyui dataGrid动态改变排序字段名的方法
2017/03/02 Javascript
JS实现求数组起始项到终止项之和的方法【基于数组扩展函数】
2017/06/13 Javascript
JavaScript使用享元模式实现文件上传优化操作示例
2018/08/07 Javascript
微信小程序实现渐入渐出动画效果
2019/06/13 Javascript
使用cx_freeze把python打包exe示例
2014/01/24 Python
Windows下PyMongo下载及安装教程
2015/04/27 Python
浅谈python for循环的巧妙运用(迭代、列表生成式)
2017/09/26 Python
网红编程语言Python将纳入高考你怎么看?
2018/06/07 Python
python 文件查找及内容匹配方法
2018/10/25 Python
在OpenCV里使用特征匹配和单映射变换的代码详解
2019/10/23 Python
python数值基础知识浅析
2019/11/19 Python
Python 串口通信的实现
2020/09/29 Python
Tomcat Mysql datasource数据源配置
2015/12/28 面试题
JAVA程序员面试题
2012/10/03 面试题
JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
2015/10/22 面试题
简历里的自我评价
2014/01/31 职场文书
公务员培的训心得体会
2014/09/01 职场文书
群众路线党员自我评议范文2014
2014/09/24 职场文书
支行行长岗位职责
2015/02/15 职场文书
2015年公司后勤管理工作总结
2015/05/13 职场文书
2016年学校禁毒宣传活动工作总结
2016/04/05 职场文书
2019年“红色之旅”心得体会1000字(3篇)
2019/09/27 职场文书
Nginx安装完成没有生成sbin目录的解决方法
2021/03/31 Servers
Python NumPy灰度图像的压缩原理讲解
2021/08/04 Python
JavaScript实现音乐播放器
2022/08/14 Javascript