Node.js的mysql数据库操作

原创 2015年11月19日 16:17:25

连接mysql数据库

var mysql = require('mysql');
var connection = mysql.createConnection({
	host : 'localhost',
	port : 3306,
	database : 'test',
	user : 'root',
	password : ''
});
connection.connect(function(err){
	if(err){
		cosnole.log('与mysql数据库建立连接失败');
	}else{
		console.log('与mysql数据库建立连接成功');
		//关闭连接
		connection.end(function(err){
			if(err){
				console.log('关闭mysql数据库操作失败');
			}else{
				console.log('关闭mysql数据库操作成功');
			}
		})
	}
})
与数据库服务器之间的连接丢失时的处理

var mysql = require('mysql');
var connection = mysql.createConnection({
	host : 'localhost',
	port : 3306,
	database : 'test',
	user : 'root',
	password : ''
});
function connect(){
	connection.connect(function(err){
		if(err){
			console.log('与mysql数据库建立连接失败');
		}else{
			console.log('与mysql数据库建立连接成功');
		}
	})
}
//通过监听connection对象的error事件来处理与数据库服务器连接中断时的操作(断电、崩溃、重启等)
connection.on('error',function(err){
	if(err.code === 'PROTOCOL_CONNECTION_LOST'){
		console.log('与mysql数据库之间的连接丢失');
		//5秒后重新尝试连接数据库
		setTimeout(function(){
			connect();
		},5000);
	}else{
		throw err;
	}
})
connect();
在mysql数据库中插入与查询数据
var mysql = require('mysql');
var connection = mysql.createConnection({
	host : 'localhost',
	port : 3306,
	database : 'test',
	user : 'root',
	password : ''
});
function connect(){
	connection.connect(function(err){
		if(err){
			console.log('与mysql数据库建立连接失败');
		}else{
			console.log('与mysql数据库建立连接成功');
			//使用connection对象的query方法统一执行数据的增删改查
			//使用三个参数,第一个为sql语句,第二个为数据(数组或者对象),第三个为执行后的回调函数(err为执行失败时触发的错误对象,result为执行结果)
			connection.query('insert into admin set ?',{username:'Jack',password:'456'},function(err,result){
				if(err){
					console.log('插入数据失败');
				}else{
					//在一个具有自增主键字段的数据表中插入一条数据后,可以使用result.insertId来获取该数据的主键值
					console.log(result.insertId);
					//在查询语句中,使用??占位符来为sql标识符使用参数
					connection.query('select * from ??',['admin'],function(err,result){
						if(err){
							console.log('查询数据失败');
						}else{
							console.log(result);
							connection.end();
						}
					})
				}
			})
		}
	})
}
connect();
mysql增删改查操作

var mysql = require('mysql');
var table = 'admin';	//表名
var connection = mysql.createConnection({
	host : 'localhost',
	port : 3306,
	database : 'test',
	user : 'root',
	password : '',
	multipleStatements : true	//默认是禁止多语句操作,把该属性设置为true,即可执行多条语句
});
connection.connect(function(err){
	if(err){
		console.log('与mysql数据库建立连接失败');
	}else{
		console.log('与mysql数据库建立连接成功');
		//插入数据
		insertData();
	}
});
function insertData(){
	var sqlStr = "";
	//插入多条sql语句
	//为了防止sql注入攻击,使用connection对象的escape方法对用户输入的数据进行escape编码处理
	//有些情况下,可能由用户决定使用某个sql标识符(数据库名、数据表名、字段名等),这时候,使用escapeId方法编码处理该标识符
	for(var i=0;i<3;i++){
		sqlStr += 'insert into ' + table + '(username,password) values(' + connection.escape('用户名' + i.toString()) + ',' + connection.escape('密码' + i.toString()) + ');';
	}
	connection.query(sqlStr,function(err,result){
		if(err){
			console.log('插入数据失败');
		}else{
			console.log('插入数据成功');
			//更新数据
			updateData();
		}
	})
}
function updateData(){
	connection.query('update ' + table + ' set password = ? where username = ?',['新的密码','用户名1'],function(err,result){
		if(err){
			console.log('更新数据失败');
		}else{
			console.log('更新数据成功');
			//删除数据
			deleteData();
		}
	})
}
function deleteData(){
	connection.query('delete from ' + table + ' where username = ?',['用户名2'],function(err,result){
		if(err){
			console.log('删除数据失败');
		}else{
			console.log('删除数据成功');
			//查询数据
			queryData();
		}
	})
}
function queryData(){
	connection.query('select * from ' + table,function(err,result){
		if(err){
			console.log('查询数据失败');
		}else{
			console.log('查询数据成功');
			console.log(result);
			//断开连接
			connection.end();
		}
	})
}
Node.js mysql连接参数

https://cnodejs.org/topic/53f834248f44dfa351525511

nodejs与mysql数据库的交互操作

首先安装mysql库 mysql数据库版本:mysql-5.7.16-winx64,在官网下载zip包,修改一下配置,即可通过命令安装到电脑上。首先看一下连接的过程:var mysql = r...
  • zxc123e
  • zxc123e
  • 2016年11月19日 17:52
  • 14068

NodeJs操作mysql数据库(js版)

1 、需要npm install mysql 实现一个简单的数据库系统,包含增删查的功能 /**  * Created by wangyc on 2015-3...
  • wyc_cs
  • wyc_cs
  • 2016年03月31日 13:57
  • 1682

Node.js笔记(四)mysql数据库操作

node.js对mysql的操作
  • u010668495
  • u010668495
  • 2015年03月07日 23:36
  • 1096

php mysql数据库操作类,功能很强大

  • dongsg11200
  • dongsg11200
  • 2014年03月25日 13:23
  • 2956

nodejs连接mysql数据库简单封装-mysql模块

安装mysql模块 npm install mysql 测试是否连接成功 mysql.js代码: var mysql = require('mysql'); var connection =...
  • zzwwjjdj1
  • zzwwjjdj1
  • 2016年07月22日 09:21
  • 10815

MySQL数据库操作类(PHP实现,支持连贯操作)

使用过ThinkPHP框架的同学可能会对于其中数据库模型操作特别有好感,ThinkPHP提供了数据库操作的简单的操作,对于连接数据库,数据库的增删改查等数据操作都非常的nice,同时支持连贯操作,对于...
  • helencoder
  • helencoder
  • 2016年04月17日 11:27
  • 12935

在Node.js中使用MySQL&MySQL JavaScript客户端

在Node.js中使用MySQL&MySQL JavaScript客户端 在本教程中,我们会向你介绍如何使用 MySQL 模块 - 这是一个用 JavaScript 编写的运行在 Node.js...
  • loveyouyouno
  • loveyouyouno
  • 2017年08月06日 21:16
  • 667

nodeJS操作MySQL

官方参考文档:https://www.npmjs.com/package/mysql#preparing-queries 1 在module路径下安装MySQL模块(mysql驱动) npm ...
  • u010129985
  • u010129985
  • 2017年01月04日 11:06
  • 1538

C#操作mysql数据库的实例

《C#操作mysql数据库实例》-- 本文主要分享的是使用C#简单快捷的操作Mysql数据库的完整实现过程。...
  • lgj123xj
  • lgj123xj
  • 2017年04月27日 13:54
  • 3159

pdo数据库操作类

pdo,有不局限数据库,和防止sql注入等很多优点,也是php官方推荐的方式,所以花点时间写个pdo数据库操作类!...
  • gongstrong123
  • gongstrong123
  • 2016年03月08日 21:58
  • 1086
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Node.js的mysql数据库操作
举报原因:
原因补充:

(最多只允许输入30个字)