广告
返回顶部
首页 > 资讯 > 数据库 >Node中怎么连接mysql数据库
  • 405
分享到

Node中怎么连接mysql数据库

2024-04-02 19:04:59 405人浏览 八月长安
摘要

node中怎么连接Mysql数据库,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。npm install -

node中怎么连接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);    
  });
};

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网数据库频道,感谢您对编程网的支持。

您可能感兴趣的文档:

--结束END--

本文标题: Node中怎么连接mysql数据库

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

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

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

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

下载Word文档
猜你喜欢
  • Node中怎么连接mysql数据库
    Node中怎么连接mysql数据库,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。npm install -...
    99+
    2022-10-19
  • 关于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数据库连接(入门)
  • Node-Red怎么实现MySQL数据库的连接
    本篇内容主要讲解“Node-Red怎么实现MySQL数据库的连接”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Node-Red怎么实现MySQL数据库的连接”吧!要想实现Node-red连接数据...
    99+
    2023-06-20
  • 浅析node连接数据库(express+mysql)
    操作是在ubuntu系统的下环境,简单记录一下过程。 首先用apt-get安装数据库,键入命令 sudo apt-get install mysql-server , 一路回车,然后在一个界面设置一下数据库...
    99+
    2022-06-04
    连接数据库 node mysql
  • Node连接mysql数据库方法介绍
    使用Node做Web开发,基本上都是使用NoSQL数据库,最频繁的就是使用MongoDB了,自己做了一些简单的Web开发,为了降低学习门槛,一直使用MySQL来做数据库。这里简单介绍一下连接MySQL数据库...
    99+
    2022-06-04
    数据库 方法 Node
  • 初步使用Node连接Mysql数据库
    使用Node做Web页面开发,基本上是连接非关系型数据库mongodb,而这里我还是先尝试连接了一下mysql数据库,因为相对于mysql来说mongodb过于生疏,想着快速出来页面,所以选择相对熟悉一些的...
    99+
    2022-06-04
    数据库 Node Mysql
  • mysql怎么连接数据库
    mysql连接数据库的方法:1.打开运行窗口;2.打开命令行窗口;3.输入命令连接mysql数据库;4.再输入密码连接数据库即可。mysql连接数据库的方法:使用【win+r】快捷键打开运行窗口。在对话框中输入“cmd”打开命令行窗口。输入...
    99+
    2022-10-20
  • mysql数据库怎么连接
    mysql数据库连接的方法按Win+R,输入“cmd”,打开 DOS 窗口。输入 ”mysql-hlocalhost-uroot-p”连接数据库。接着输入密码,连接即可。如果出现“mysql不是内部或外部命令”的问题,那就需要将m...
    99+
    2022-10-06
  • Node-Red实现MySQL数据库连接的方法
    要想实现Node-red连接数据库(mysql),首先电脑需要在电脑中下载MySQL软件,并安装Navicat便于操作,这里默认已经安装完毕。 Node-Red中控件下载 在Node...
    99+
    2022-11-12
  • cmd中怎么连接mysql数据库
    cmd中怎么连接mysql数据库,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。连接:mysql -h主机地址 -u用户名 -p用户密码 (注:...
    99+
    2022-10-18
  • MyGeneration中怎么连接MySql数据库
    MyGeneration中怎么连接MySql数据库,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。  1、去MySql官方网站,下载连接.net...
    99+
    2022-10-18
  • Node.js中怎么连接MySQL数据库
    Node.js中怎么连接MySQL数据库,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。什么是关系型数据库和非关系型数据库说到关系型数据库,...
    99+
    2022-10-19
  • C++中怎么连接MySqL数据库
    这期内容当中小编将会给大家带来有关C++中怎么连接MySqL数据库,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。C++连接MySqL数据库代码示例:#include < stdi...
    99+
    2023-06-17
  • node连接MySQL数据库的3种方式总结
    目录1.使用mysql包的提供的接口进行连接2.建立数据库连接池总结以下我们将说明node连接数据库的三种方式,并进行利弊说明,以挑选出最适合项目的连接方式。 1.使用mysql包的...
    99+
    2022-11-13
    node连接mysql nodejs mysql nodejs连接数据库
  • IDEA怎么连接Mysql数据库
    这篇“IDEA怎么连接Mysql数据库”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“IDEA怎么连接Mysql数据库”文章吧...
    99+
    2023-07-05
  • Java怎么连接MySQL数据库
    今天小编给大家分享一下Java怎么连接MySQL数据库的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。首先说明,由于是8版本的...
    99+
    2023-06-29
  • golang怎么连接mysql数据库
    今天小编给大家分享一下golang怎么连接mysql数据库的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。golang操作my...
    99+
    2023-06-30
  • python怎么连接mysql数据库
    这篇文章给大家分享的是有关python怎么连接mysql数据库的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。python怎么连接mysql数据库MySQLdb 模块不支持 Pyt...
    99+
    2022-10-18
  • eclipse怎么连接mysql数据库
    这篇文章将为大家详细讲解有关eclipse怎么连接mysql数据库,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。eclipse怎么连接mysql数据库1.进...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作