广告
返回顶部
首页 > 资讯 > 数据库 >Node连接mysql数据库方法介绍
  • 185
分享到

Node连接mysql数据库方法介绍

数据库方法Node 2022-06-04 17:06:30 185人浏览 独家记忆
摘要

使用node做web开发,基本上都是使用NoSQL数据库,最频繁的就是使用mongoDB了,自己做了一些简单的WEB开发,为了降低学习门槛,一直使用Mysql来做数据库。这里简单介绍一下连接mysql数据库

使用nodeweb开发,基本上都是使用NoSQL数据库,最频繁的就是使用mongoDB了,自己做了一些简单的WEB开发,为了降低学习门槛,一直使用Mysql来做数据库。这里简单介绍一下连接mysql数据库的方式,希望能帮助到其他人。


npm install --save mysql

使用上述命令安装完MySQL的模块后,就可以直接使用了,官网的DOCS里一个简单的例子如下就可以入门了。


var mysql = require('mysql');
var connection = mysql.createConnection({
 host: 'localhost',
 user: 'me',
 passWord : 'secret',
 database : 'my_db'
});
connection.connect();
connection.query('SELECT 1 + 1 AS solution', function(err, rows, fields) {
 if (err) throw err;
 console.log('The solution is: ', rows[0].solution);
});
connection.end();

很简单的一个例子,从上面的例子可以得出:使用createConnection(option)方法创建一个连接对象,然后连接对象的connect()方法创建连接,最后使用query()方法执行SQL语句,返回结果作为回调函数的参数rows返回,rows为数组类型。

1. 连接

创建连接对象,需要传入连接数据库的一些连接参数,也就是createConnection(option)里的option,option是一个对象,以键值对的形式传入createConnection()方法里。上例列举出了最基本的参数:

host 主机名 user 连接数据库的用户 password 密码 database 数据库名称

还有其他的参数,可以查询下官方DOCS,这里不一一列举了,初期学习上面这些参数就足以。

2. 关闭

关闭一个连接使用end()方法,end()方法提供一个回调函数,如下:


connect.end(function(err){
  console.log('End a connection');
});

这是建议使用的方法,end()方法会等待连接回调完成后才关闭连接。官方还提供了另外一种方法destroy()方法,这个方法直接关闭连接,不会等待回调完成。

举个简单的例子:


var mysql = require('mysql');
var option = require('./connect.js').option;
var conn = mysql.createConnection(option);
conn.query('select * from message',function(err,rows,fields){
 if(!err){
  console.log(rows);
 }
});
conn.end(function(err){
 console.log('end a connection');
});

最终结果会是:先打印完SELECT数据表结果后,再打印end a connection。而如果你将关闭方法换成conn.destroy();,那么你就别想返回任何结果了,因为还没等回调结束就已经终止连接了。

3. 连接池

连接池的原理是一开始就给你创建多个连接对象放在一个“池子”里,用的时候取一个,用完了放回“池子”里,在一定程度上是有利于节省系统开销的,因为连接对象是在最开始的时候就创建好了,使用的时候不再需要系统开销去创建数据库连接对象。官方DOCS介绍了连接方法:


var mysql = require('mysql');
var pool = mysql.createPool({
 connectionLimit : 10,
 host      : 'example.org',
 user      : 'bob',
 password    : 'secret',
 database    : 'my_db'
});
pool.query('SELECT 1 + 1 AS solution', function(err, rows, fields) {
 if (err) throw err;
 console.log('The solution is: ', rows[0].solution);
});

创建连接池的方法是createPool(option),option里多了一个参数connectionLimit指的是一次性在连接池里创建多少个连接对象,默认10个。如果你想共享一个连接对象,可以使用下面方法进行连接;


var mysql = require('mysql');
var pool = mysql.createPool({
 host   : 'example.org',
 user   : 'bob',
 password : 'secret',
 database : 'my_db'
});
pool.getConnection(function(err, connection) {
 // Use the connection
 connection.query( 'SELECT something FROM sometable', function(err, rows) {
  // And done with the connection.
  connection.release();
  // Don't use the connection here, it has been returned to the pool.
 });

// Use the connection
 connection.query( 'SELECT something2 FROM sometable2', function(err, rows) {
  // And done with the connection.
  connection.release();
  // Don't use the connection here, it has been returned to the pool.
 });
});

使用一个连接对象执行两次query()函数。

4. 示例1

使用基本的连接方式来连接数据库,分别定义数据连接以及关闭的function,如下示例:


// connect.js 数据库连接与关闭
var mysql = require('mysql');
var config = require('./config.JSON'); // 将数据库连接参数写入mysql对象,即config.mysql
var connCount = 0; // 统计目前未关闭的连接
exports.getConn = function(){
 connCount ++;
 console.log('............................OPEN a connection, has '+ connCount + ' connection.');
 return mysql.createConnection(config.mysql);
};
exports.endConn = function(conn){
 conn.end(function(err){
  if(!err){
   connCount --;
   console.log('.........................CLOSE a connection, has '+ connCount + ' connection.');
  }
 });
};

然后给个使用数据库的示例,


// db.js 查询用户信息
var connect = require('./connect.js'); // 引入数据连接方法
exports.getUser = function(username, callback){
  var connection = connect.getConn();
  var sql = 'select * from user where username = "' + username + '"';
  connection.query(sql,function(err,rows,fields){
    callback(err,rows,fields);  
  });
  connect.endConn(connection);
}

5. 示例2

使用数据库连接池,同样先创建数据库连接池的方法,如下两种方式:


// connect.js 直接使用
var mysql = require('mysql');
var config = require('./config.json');
var pool = mysql.createPool(config.mysql);

exports.querySQL = function(sql,callback){
  pool.query(sql, function(err,rows,fields){
    callback(err,rows,fields);
  });
}

// connect.js 使用getConnection方法
var mysql = require('mysql');
var config = require('./config.json');
var pool = mysql.createPool(config.mysql);

exports.querySQL = function(sql, callback){
  pool.getConnection(function(err,conn){
    conn.query(sql,function(err,rows,fields){
      callback(err,rows,fields); 
      conn.release();  // 不要忘了释放
    });    
  });
}

使用的时候,直接使用querySQL方法即可,如下:


// db.js 查询用户信息
var connect = require('./connect.js');
exports.getUser = function(username,callback){
  var sql = 'select * from user where username = "' + username + '"';
  connect.querySQL(sql,function(err,rows,fields){
    callback(err,rows,fields);    
  });
};

官方是推荐使用连接池的方式进行连接的,但是,是直接使用pool.query()连接还是pool.getConnection()的方法来连接,官方并没有介绍其优劣,我简单做了个测试,貌似这两种方式并没有多大的区别,也就没再研究,有知道的烦请告知,谢了~

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

您可能感兴趣的文档:

--结束END--

本文标题: Node连接mysql数据库方法介绍

本文链接: https://www.lsjlt.com/news/12840.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Node连接mysql数据库方法介绍
    使用Node做Web开发,基本上都是使用NoSQL数据库,最频繁的就是使用MongoDB了,自己做了一些简单的Web开发,为了降低学习门槛,一直使用MySQL来做数据库。这里简单介绍一下连接MySQL数据库...
    99+
    2022-06-04
    数据库 方法 Node
  • Node-Red实现MySQL数据库连接的方法
    要想实现Node-red连接数据库(mysql),首先电脑需要在电脑中下载MySQL软件,并安装Navicat便于操作,这里默认已经安装完毕。 Node-Red中控件下载 在Node...
    99+
    2022-11-12
  • 关于node+mysql数据库连接池连接
     mysql有两种连接方式:一种是直接连接 另一种是池化连接,我们这篇讲的是池化连接。 为了让解惑,我简答的写份直接连接的代码,如下: var mysql = requi...
    99+
    2023-05-16
    node+mysql node连接mysql
  • node+mysql数据库连接(入门)
    node+mysql的数据库操作; 1 //引入mysql 2 var mysql = require("mysql"); 3 //进行数据库连接设置 4 var connection = ...
    99+
    2014-08-15
    node+mysql数据库连接(入门)
  • Java数据库连接池c3p0介绍
    目录1、配置参数1.1、基础配置1.2、连接池大小1.3、连接池大小和连接存活时间1.4、连接测试1.5、预编译池1.6、数据库中断的恢复1.7、自定义连接生命周期管理1.8、处理未...
    99+
    2022-11-12
  • pythonflasksqlalchemy连接数据库流程介绍
    1、安装flask_sqlalchemy和pymysql包 pip install flask-sqlalchemy pip install pymysql 2、进行配置 使用Fla...
    99+
    2022-11-11
  • Java 数据库连接池DBPool 介绍
    目录1、配置参数2、使用2.1、直接使用2.1.1、引入依赖2.1.2、使用例子2.2、在 SpringBoot 中使用2.1.1、引入依赖2.1.2、单数据源2.1.3、多数据源前...
    99+
    2022-11-12
  • Java数据库连接池Tomcat介绍
    目录1、配置参数1.1、基础配置1.2、系统属性1.3、一般参数1.4、增强参数2、使用2.1、直接使用2.1.1、引入依赖2.1.2、使用例子2.2、作为资源配置在 Tomcat ...
    99+
    2022-11-12
  • 浅析node连接数据库(express+mysql)
    操作是在ubuntu系统的下环境,简单记录一下过程。 首先用apt-get安装数据库,键入命令 sudo apt-get install mysql-server , 一路回车,然后在一个界面设置一下数据库...
    99+
    2022-06-04
    连接数据库 node mysql
  • Node中怎么连接mysql数据库
    Node中怎么连接mysql数据库,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。npm install -...
    99+
    2022-10-19
  • node连接MySQL数据库的3种方式总结
    目录1.使用mysql包的提供的接口进行连接2.建立数据库连接池总结以下我们将说明node连接数据库的三种方式,并进行利弊说明,以挑选出最适合项目的连接方式。 1.使用mysql包的...
    99+
    2022-11-13
    node连接mysql nodejs mysql nodejs连接数据库
  • Java数据库连接池DBCP的介绍
    目录1、配置参数2、使用2.1、直接使用2.1.1、引入依赖2.1.2、使用例子2.2、在 SpringBoot 中使用2.2.1、引入依赖2.2.2、单数据源2.2.3、多数据源D...
    99+
    2022-11-12
  • Java连接数据库的步骤介绍
    第一步:数据库驱动和数据量地址基本信息。 // MySQL 8.0 以下版本 - JDBC 驱动名及数据库 URL static final String JDBC_DRIV...
    99+
    2022-11-13
  • Java 数据库连接池Druid 的介绍
    目录1、配置参数2、使用2.1、直接使用2.1.1、引入依赖2.1.2、使用例子2.2、在 SpringBoot 中使用2.1.1、引入依赖2.1.2、单数据源2.1.3、多数据源2...
    99+
    2022-11-12
  • 初步使用Node连接Mysql数据库
    使用Node做Web页面开发,基本上是连接非关系型数据库mongodb,而这里我还是先尝试连接了一下mysql数据库,因为相对于mysql来说mongodb过于生疏,想着快速出来页面,所以选择相对熟悉一些的...
    99+
    2022-06-04
    数据库 Node Mysql
  • mysql连接数据库的方法
    小编给大家分享一下mysql连接数据库的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!连接方法:1、打开DOS窗口,进入目录...
    99+
    2022-10-18
  • MySQL数据库的介绍及安装方法
    本篇内容介绍了“MySQL数据库的介绍及安装方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  一、My...
    99+
    2022-10-18
  • python操作mysql数据库的方法介绍
    下面讲讲关于python操作mysql数据库的方法,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完python操作mysql数据库的方法这篇文章你一定会有所受益。 &n...
    99+
    2022-10-18
  • Python模块对Redis数据库的连接与使用方法介绍
    这篇文章主要讲解了“Python模块对Redis数据库的连接与使用方法介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python模块对Redis数据库的连接与使用方法介绍”吧!下面看看P...
    99+
    2023-06-20
  • mysql数据库介绍
    什么是数据库:数据库是与应用程序实现信息交互的数据存储、管理软件,并且存储数据的也都可以称为数据库。在以前没有使用数据库的时候,只能够自己写数据的存储方案。什么是sql语句:Sql语句就是对数据库进行操作的...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作