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 相关文章推荐
JQuery伸缩导航练习示例
Nov 13 Javascript
浅谈angularJS 作用域
Jul 05 Javascript
超实用的JavaScript表单代码段
Feb 26 Javascript
BootStrap智能表单实战系列(三)分块表单配置详解
Jun 13 Javascript
JS动态生成年份和月份实例代码
Feb 04 Javascript
Angular多选、全选、批量选择操作实例代码
Mar 10 Javascript
JavaScript设计模式之策略模式详解
Jun 09 Javascript
基于vue2框架的机器人自动回复mini-project实例代码
Jun 13 Javascript
vue之数据交互实例代码
Jun 20 Javascript
layui select获取自定义属性方法
Aug 15 Javascript
vue-router判断页面未登录自动跳转到登录页的方法示例
Nov 04 Javascript
vue使用vant中的checkbox实现全选功能
Nov 17 Vue.js
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
PHP5 面向对象(学习记录)
2009/12/02 PHP
ThinkPHP中实例Model方法的区别说明
2010/08/21 PHP
有道搜索和IP138的IP的API接口(PHP应用)
2012/11/29 PHP
php将文件夹打包成zip文件的简单实现方法
2016/10/04 PHP
[原创]PHP实现生成vcf vcard文件功能类定义与使用方法详解【附demo源码下载】
2017/09/02 PHP
Using the TextRange Object
2006/10/14 Javascript
jquery键盘事件介绍
2011/01/31 Javascript
使用Json比用string返回数据更友好,也更面向对象一些
2011/09/13 Javascript
iframe里面的元素触发父窗口元素事件的jquery代码
2014/10/19 Javascript
js实现从中间开始往上下展开网页窗口的方法
2015/03/02 Javascript
原生js和jquery实现图片轮播淡入淡出效果
2015/04/23 Javascript
实例讲解使用原生JavaScript处理AJAX请求的方法
2016/05/10 Javascript
jQuery模拟完美实现经典FLASH导航动画效果【附demo源码下载】
2016/11/09 Javascript
jquery精度计算代码 jquery指定精确小数位
2017/02/06 Javascript
解析jquery easyui tree异步加载子节点问题
2017/03/08 Javascript
node.js中实现kindEditor图片上传功能的方法教程
2017/04/26 Javascript
vue中如何实现pdf文件预览的方法
2018/07/12 Javascript
Vue+abp微信扫码登录的实现代码示例
2020/01/06 Javascript
vue同个按钮控制展开和折叠同个事件操作
2020/07/29 Javascript
Javascript实现打鼓效果
2021/01/29 Javascript
[04:27]DOTA2官方论坛水友赛集锦
2013/09/16 DOTA
[00:44]2016完美“圣”典 风云人物:Mikasa宣传片
2016/12/07 DOTA
Python的Django框架中的数据过滤功能
2015/07/17 Python
利用python画出AUC曲线的实例
2020/02/28 Python
使用python tkinter开发一个爬取B站直播弹幕工具的实现代码
2021/02/07 Python
CSS3实现闪烁动画效果的方法
2015/02/09 HTML / CSS
html5 外链式实现加减乘除的代码
2019/09/04 HTML / CSS
电脑专业个人求职信范文
2014/02/04 职场文书
小学开学典礼主持词
2014/03/19 职场文书
初中班主任寄语
2014/04/04 职场文书
《神奇的克隆》教学反思
2014/04/10 职场文书
纪念九一八事变演讲稿:忘记意味着背叛
2014/09/14 职场文书
毕业生政审意见范文
2015/06/04 职场文书
导游词之崇武古城
2019/10/07 职场文书
通过Qt连接OpenGauss数据库的详细教程
2021/06/23 PostgreSQL
世界十大狙击步枪排行榜
2022/03/20 杂记