mysql语句在node.js中的写法
总结一下mysql语句在node.js中的各种写法,参考了npm网站mysql模块给的实例。
查询 select
//1
db.query('select * from tuanshang_users where user_id < 10',function(err,results,fields){
//if(err) throw err;
console.log( results );
if(!!results.length){
console.log('查询到'+ results.length +'条数据');
}else{
console.log('没有相关数据');
}
});
//2
db.query('select * from tuanshang_users where user_id=?',[8],function(err,results,fields){
if(err) throw err;
console.log( results );
});
//3
db.query({
sql: 'select * from tuanshang_users where user_id=? and username=?',
values: [43,'ABCD'],
timeout: 40000
},function(err,results,fields){
if(err) throw err;
console.log( results );
});
//4
db.query({
sql: 'select * from tuanshang_users where user_id=? and username=?',
timeout: 40000
},[44,'ABCDEF'],function(err,results,fields){
if(err) throw err;
console.log( results );
});
//5
var userid = 44;
var columns = ['username','password'];
var sql = 'select ?? from ?? where user_id=?';
db.query(sql,[columns,'tuanshang_users',userid],function(err,results,fields){
if(err) throw err;
console.log( results );
});
插入 insert into
//1
var o = {username:'cnode', password:'123456'};
db.query('insert into tuanshang_users set ?', o, function(err,result){
console.log( result );
if(result){
console.log('插入成功');
console.log( result.insertId );
}else{
console.log('插入失败');
}
});
//2
db.query('insert into tuanshang_users set ?',{username:'hello',password:'123456'}, function(err,result){
//if(err) throw err;
if(result){
console.log('插入成功');
console.log( result );
}else{
console.log('插入失败');
}
});
//3
db.query({
sql: 'insert into tuanshang_users set ?',
values: {username:'kankan',password:'123456'},
timeout: 40000
},function(err,result){
//if(err) throw err;
console.log( result );
if( !!result ){
console.log('插入成功');
console.log( result.insertId );
}else{
console.log('插入失败');
}
});
//4 5 参考查询select
更新 update
//1
db.query('update tuanshang_users set ? where user_id=?',[{username:'hello'},8],function(err,result){
//if(err) throw err;
console.log(result);
if(!!result && !!result.changedRows){
console.log('更新成功');
console.log( result.changedRows );
}else{
console.log('更新失败');
}
});
//2
db.query('update tuanshang_users set ? where user_id=5',{username:'hello'},function(err,result){
//if(err) throw err;
console.log(result);
if(!!result && !!result.changedRows){
console.log('更新成功');
console.log( result.changedRows );
}else{
console.log('更新失败');
}
});
//3
db.query({
sql: 'update tuanshang_users set ? where user_id=?',
values: [{username:'hello'},8],
timeout: 40000
},function(err,result){
//if(err) throw err;
console.log( result );
if(!!result && !!result.changedRows){
console.log('更新成功');
console.log( result.changedRows );
}else{
console.log('更新失败');
}
});
//4 5 参考查询select
删除 delete
//1
db.query('delete from tuanshang_users where username="hello"',function(err,result){
//if(err) throw err;
console.log( result );
if(!!result && !!result.affectedRows){
console.log('删除成功');
console.log( result.affectedRows );
}else{
console.log('删除失败');
}
});
//2
db.query('delete from tuanshang_users where user_id=?',[10],function(err,result){
//if(err) throw err;
console.log( result );
if(!!result && !!result.affectedRows){
console.log('删除成功');
console.log( result.affectedRows );
}else{
console.log('删除失败');
}
});
//3
db.query({
sql: 'delete from tuanshang_users where user_id=?',
values: [51],
timeout: 40000
},function(err,result){
//if(err) throw err;
console.log( result );
if(!!result && !!result.affectedRows){
console.log('删除成功');
console.log( result.affectedRows );
}else{
console.log('删除失败');
}
});
//4 5 参考查询select
查询操作,会返回一个结果数组。如果没有查询数据,结果数组为空,即数组长度为0。
插入,更新,删除操作会返回一个结果对象
{
fieldCount: 0,
affectedRows: 0,
insertId: 0,
serverStatus: 2,
warningCount: 0,
message: '',
protocol41: true,
changedRows: 0
}
在插入操作后,结果对象中 insertId 返回插入的数据在表中id的位置。
在更新操作后,结果对象中 changedRows 返回更新了多少行(表中有几条数据中的字段值发生变化),affectedRows 返回满足where条件影响的行。
在删除操作后,结果对象中 affectedRows 返回删除了多少行。如果是0表示没有删除行或者没有满足删除条件的数据行。
mysql语句在node.js中的写法的更多相关文章
- 在node.js中,使用基于ORM架构的Sequelize,操作mysql数据库之增删改查
Sequelize是一个基于promise的关系型数据库ORM框架,这个库完全采用JavaScript开发并且能够用在Node.JS环境中,易于使用,支持多SQL方言(dialect),.它当前支持M ...
- [转]在node.js中,使用基于ORM架构的Sequelize,操作mysql数据库之增删改查
本文转自:https://www.cnblogs.com/kongxianghai/p/5582661.html Sequelize是一个基于promise的关系型数据库ORM框架,这个库完全采用Ja ...
- 在node.js中使用COOKIE
node.js中如何向客户端发送COOKIE呢?有如下两个方案: 一.使用response.writeHead,代码示例: //设置过期时间为一分钟 var today = new Date(); v ...
- Node.js中的URL
Node.js中的URL 什么是URL URL是Uniform Location Resource的缩写,翻译为"统一资源定位符",也就是描述资源位置的固定表示方法.被URL描述的 ...
- node.js中对 redis 的安装和基本操作
一.win下安装redis https://github.com/MicrosoftArchive/redis/releases 下载Redis-x64-3.2.100.zip,然后解压,放到自定义目 ...
- Node.js中环境变量process.env详解
Node.js中环境变量process.env详解process | Node.js API 文档http://nodejs.cn/api/process.html官方解释:process 对象是一个 ...
- Node.js中流程控制
Node.js中的流程控制可以使用async,在使用之前需要先安装,使用npm安装 npm install async --g 下面主要介绍4种流程控制的方式: 1.串行无关联:async.serie ...
- 配置node.js中的express框架
玩node.js,不玩后台那就是杀鸡牛刀,今天没事整理一下以前开发node.js后台的心得 1.首先安装node.js以及cnpm,在这儿我就不说了,看我node.js中的另一篇文章node.js的安 ...
- 【nodejs原理&源码赏析(7)】【译】Node.js中的事件循环,定时器和process.nextTick
[摘要] 官网博文翻译,nodejs中的定时器 示例代码托管在:http://www.github.com/dashnowords/blogs 原文地址:https://nodejs.org/en/d ...
随机推荐
- 【ALearning】第二章 Androidproject知识介绍
本章介绍了主要的初步Androidproject成立了一个开发环境.为了Android意识的整体项目和理解.本章包含Android开发环境的搭建.第一Android工程Hello World与Andr ...
- 散文说python半篇——景观三元论与盖茨比的对话
今天, 天气晴朗,风和日丽: 我事实上在说谎-- 爱说谎事实上是我的天性 上个礼拜四我就用景观三元论说了非常多谎话.然后一头大象自己上吊了. 了不起的大象啊,盖茨比也要从坟墓里爬出来了吧, 陈年旧事, ...
- Wix打包系列(三)自定义Action(Custom Action)
原文:Wix打包系列(三)自定义Action(Custom Action) 3.1 关于Action 我们已经知道如何生成具有标准安装界面的安装程序了,Windows Installer按照我们的界面 ...
- like-minded 都有什么意思_百度知道
like-minded 都有什么意思_百度知道 like-minded 都有什么意思
- Winsock 编程流程
近期看了<Window程序设计>感觉在网络方面讲的不错,讲的非常通俗易懂.与大家一同交流 转载请注明出处:http://blog.csdn.net/u010484477谢谢^_^ 使用 W ...
- 单服务器防护linux iptables脚本
#!/bin/bashiptables -Fiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP/sbin/i ...
- SE 2014 年4月21日(一)
如图配置 网络中存在四个自治系统,设备之间要求建立BGP对等体关系,发布BGP路由,使得全网BGP路由相互通讯. 要求 1. 由于AS 200中的路由信息频繁抖动,所以AS 100 和 AS 300 ...
- 【Android UI】案例03滑动切换效果的实现(ViewPager)
本例使用ViewPager实现滑动切换的效果.本例涉及的ViewPager.为android.support.v4.view.ViewPager.所以须要在android项目中导入android-su ...
- C 一个字符串有三段,第一段原样输出,第二段为要输出字符串的长度,第三段为依据第二段长度补齐第一段
C 一个字符串有三段,第一段原样输出.第二段为要输出字符串的长度,第三段为依据第二段长度补齐第一段 比如:输入abc 11 12.输出abc12121212 #include<stdio.h&g ...
- SO_REUSEADDR 套接字选项应用
在网络上的SO_REUSEADDR套接字选项是用来解决地址问题重用了大量的信息.但仅仅停留在文字的表达.并没有实例,非常easy误导谁刚开始学习,和不解,此处不再赘述. 的使用该选项,以及须要注意的问 ...