nodejs连接mysql

本文详细介绍了如何使用Node.js连接并操作MySQL数据库,包括创建连接、执行查询、使用连接池等关键步骤,适合初学者快速上手。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


// 直接连接mysql,使用前需安装mysql模块 npm install mysql ,并且本地安装了mysql数据库,且有//study这张数据库表
var mysql = require('mysql');
// 创建一个connection
var connection = mysql.createConnection({
	host:'localhost', //主机
	port:'3306',	// 端口号
	user:'root',	// 用户名
	password:'root',	// 密码
	database:'study'	// 数据库名
});
// 创建一个connection
connection.connect(function(err){
	if(err){
		console.log('[query]-:'+err);
		return;
	}
	console.log('[connection connect] succeed!');

});

// 插入语句
/*
var userAddSql = 'insert into user (id,name,pwd,create_date) value(?,?,?,?)';
var param = ['3','wangwu','bbbb','2012'];
connection.query(userAddSql,param,function(err,rs){
	if(err){
		console.log('insert err:'+err.message);
		return;
	}
	console.log('insert success');
});
*/
// 查询
connection.query('select * from user',function(err,rows,fields){
	if(err){
		console.log('query-:'+err.message);
		return;
	}
	console.log('the solution is :'+rows[0].name);
	console.log(fields);
});

connection.query('select * from user',function(err,rows){
	if(err){
		console.log('query-:'+err.message);
		return;
	}

	for (var i = rows.length - 1; i >= 0; i--) {
		console.log(i+'the solution is :'+rows[i].name);
	}
	console.log(rows);
	
	
});

connection.query('select * from user where id = ?',[1],function(err,rows){
	if(err){
		console.log('query-:'+err.message);
		return;
	}

	for (var i = rows.length - 1; i >= 0; i--) {
		console.log(i+'the solution is :'+rows[i].name);
	}
	console.log(rows);
	
	
});

// 关闭connection
connection.end(function(err){
	if(err){
		console.log(err.toString);
		return;
	}
	console.log('[connection end] succeed!');
});
// 用连接池连接mysql,需要安装mysqlpool模块 npm install -g node-mysql // -g表示全局

var OptPool = require('./OptPool');

var optPool = new OptPool();
var pool = optPool.getPool();

// 从连接池获取一个连接
pool.getConnection(function(err,conn){
	conn.query('select * from user where id = ?',[1],function(err,rows){
	if(err){
		console.log('query-:'+err.message);
		return;
	}
	for (var i = rows.length - 1; i >= 0; i--) {
		console.log(i+'the solution is :'+rows[i].name);
	}
	console.log(rows);
	conn.release();// 放回连接池
});
});
// 调用mysql模块
var mysql = require('mysql');
function OptPool(){

	this.flag=true;//是否连接过
	this.pool = mysql.createPool({
		host:'localhost', //主机
		port:'3306',	// 端口号
		user:'root',	// 用户名
		password:'root',	// 密码
		database:'study'	// 数据库名
	});

	this.getPool =function(){
		if(this.flag){
			// 监听connection事件
			this.pool.on('connection',function(connection){
				connection.query('set session auto_increment_increment=1')
				this.flag = false;

			});
		}
		return this.pool;
	}
}

module.exports = OptPool;

query方法中的参数rows

fileds

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值