Node.js高级编程读书笔记 - 5 数据库 - Never
Outline
6 连接数据库
- 6.1 使用node-mysql连接MySQL数据库
- 6.2 使用Nano连接CouchDB数据库
- 6.3 使用Mongoose连接MongoDB数据库
6 连接数据库
6.1 使用node-mysql连接MySQL数据库
node-mysql书上使用的版本与最新的版本API变化很大, 最新版本文档见node-mysql lib,可以看到还提供了连接池,这里不做介绍。
一个简单客户端
/**
demonstration of node-mysql serviec
REF: https://github.com/felixge/node-mysql/
*/
var mysql = require("mysql");
var connection = mysql.createConnection({
host: "localhost",
user: "root",
password: "root"
});
// 1 create database
connection.query("DROP DATABASE IF EXISTS node");
connection.query("CREATE DATABASE node");
connection.query("USE node");
// 2 create table
connection.query("CREATE TABLE test("+
"id INT(11) AUTO_INCREMENT, " +
"content VARCHAR(255)," +
"PRIMARY KEY(id))");
// 3 insert data
for(var i = 0; i < 100; i++){
connection.query("INSERT INTO test(content) VALUES(?)", ["content for row " + (i+1)]);
}
// 4 update data
connection.query("UPDATE test SET content = ? WHERE id >= ?", ["new content", 90],
function(error, info){
console.log("changed " + info.affectedRows + " rows.");
});
// 5 query data - REF https://github.com/felixge/node-mysql/#streaming-query-rows
var query = connection.query("SELECT id, content FROM test where id >= ? AND id <= ?",
[80, 90]);
query.on("error", function(error){
throw error;
}).on("result", function(row){
connection.pause();
console.log("#%s is %s", row.id, row.content);
connection.resume();
}).on("end", function(){
console.log("query finished.");
});
// close connection
connection.end();
6.2 使用Nano连接CouchDB数据库
TODO
6.3 使用Mongoose连接MongoDB数据库
TODO
6.4 连接Redis
TODO
Node.js高级编程读书笔记 - 5 数据库 - Never的更多相关文章
- Node.js高级编程读书笔记Outline
Motivation 世俗一把,看看前端的JavaScript究竟能做什么. 顺便检验一下自己的学习能力. Audience 想看偏后台的Java程序员关于前端JavaScript的认识的职业前端工程 ...
- Node.js高级编程读书笔记 - 6 应用程序构建和调试 - Never
Explanation 现阶段console.log(...),util.inspect(...), JSON.stringify(...)在控制台输出已经够用了[2015/07/19]. 单元测试隶 ...
- Node.js高级编程读书笔记 - 1 基本概念
Outline 1 概述和安装 1.1 安装Node 1.2 Node简介 2 Node核心API基础 2.1 加载模块 2.2 应用缓冲区处理.编码和解码二进制数据 2.3 使用时间发射器模式简化事 ...
- Node.js高级编程读书笔记 - 4 构建Web应用程序
Outline 5 构建Web应用程序 5.1 构建和使用HTTP中间件 5.2 用Express.js创建Web应用程序 5.3 使用Socket.IO创建通用的实时Web应用程序 5 构建Web应 ...
- Node.js高级编程读书笔记 - 3 网络编程
Outline 3.4 构建TCP服务器 3.5 构建HTTP服务器 3.6 构建TCP客户端 3.7 创建HTTP请求 3.8 使用UDP 3.9 用TLS/SSL保证服务器的安全性 3.10 用H ...
- Node.js高级编程读书笔记 - 2 文件和进程处理
Outline 3 文件.进程.流和网络 3.1 查询和读写文件 3.2 创建和控制外部进程 3.3 读写数据流 3 文件.进程.流和网络 3.1 查询和读写文件 path 从Node 0.8起,pa ...
- JS高级编程读书笔记
导读:由于书的内容较多,内容划分也非常详尽,所以会分好几篇来写. 此页面仅作为跳转,权当个目录来用. 我会分块进行整理,大致如下: 第一章 简介 讲述javascript的历史,不打算整理,同学们大概 ...
- 《Node.js 高级编程》简介与第二章笔记
<Node.js 高级编程> 作者简介 Pedro Teixerra 高产,开源项目程序员 Node 社区活跃成员,Node公司的创始人之一. 10岁开始编程,Visual Basic.C ...
- JavaScript、jQuery、HTML5、Node.js实例大全-读书笔记3
技术很多,例子很多,只好慢慢学,慢慢实践!!现在学的这本书是[JavaScript实战----JavaScript.jQuery.HTML5.Node.js实例大全] JavaScript.jQuer ...
随机推荐
- 深入浅出设计模式——建造者模式(Builder Pattern)
模式动机无论是在现实世界中还是在软件系统中,都存在一些复杂的对象,它们拥有多个组成部分,如汽车,它包括车轮.方向盘.发送机等各种部件.而对于大多数用户而言,无须知道这些部件的装配细节,也几乎不会使用单 ...
- linux 知识汇总
1 ) linux下文件系统类型的学习 2 )深入理解linux i节点(inode) 3 )RAID系列
- Less入门到上手——前端开发利器<二>深入了解
接着昨天的继续... ... 4.嵌套: HTML部分 <table> <tr> <th colspan="3">测试列表标题</th&g ...
- 原!!jar包 --可执行exe文件--安装包
这几天由于部门统计名单,都是一边报,一边统计,感觉麻烦,写了个小工具,做成安装包.其他不多说,网上都有,我就自己按照网上操作,碰到了一些问题,对这些问题说下. ----------废话少说------ ...
- kafka原理存储
http://www.open-open.com/lib/view/open1421150566328.html
- Android DisplayMetrics类获取屏幕大小
DisplayMetrics public class DisplayMetrics extends Object java.lang.Object ↳ android.util.Disp ...
- JavaScript数组API
1.将数组转化为字符串:2种: 1.var str=String(str); 将数组转化为字符串并分隔每个元素 ...
- ShopNc基本介绍
ShopNc学习笔记: 1.shopNc每个文件夹定义了单入口文件eg:shopnc/admin/index.php, shopnc/cms/index.php 2.MVC M: $model = M ...
- C#多线程 线程池
实例1:直接看看微软提供的代码 using System; using System.Threading; public class Example { public static void Main ...
- oracle生成行方法
数据库记录是行的集合 set of row, 那么如何如何生成集合呢? oracle中常用的是 递归查询(with ... union all ...) 以及 connect by(树形查询) htt ...