广告
返回顶部
首页 > 资讯 > 数据库 >nodejs进阶(6)—连接MySQL数据库示例
  • 396
分享到

nodejs进阶(6)—连接MySQL数据库示例

进阶示例数据库 2022-06-04 17:06:07 396人浏览 独家记忆
摘要

1. 建库连库 连接Mysql数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE

1. 建库连库

连接Mysql数据库需要安装支持


npm install mysql

我们需要提前安装按mysql sever端

建一个数据库mydb1


mysql> CREATE DATABASE mydb1;
mysql> SHOW DATABASES;
+--------------------+
| Database      |
+--------------------+
| infORMation_schema |
| mysql       |
| mydb1       |
| performance_schema |
+--------------------+
4 rows in set (0.00 sec) 

然后建一张表user如下


create table user( 
id int not null primary key auto_increment, 
name VARCHAR(100) not null, 
pwd VARCHAR(100) not null,
create_date TIMESTAMP NULL DEFAULT now()
)ENGINE=InnoDB DEFAULT CHARSET=utf8; 
CREATE UNIQUE INDEX t_quiz_IDX_0 on user(name); 

接下来我们利用nodejs连接mysql数据库


var mysql = require('mysql'); //调用MySQL模块
//创建一个connection 
var connection = mysql.createConnection({   
  host: 'localhost',    //主机 
  user: 'root',        //MySQL认证用户名 
  passWord: 'root',    //MySQL认证用户密码 
  database: 'mydb1', 
  port: '3306'          //端口号 
});
//创建一个connection 
connection.connect(function(err){ 
  if(err){     
    console.log('[query] - :'+err); 
    return; 
  } 
  console.log('[connection connect] succeed!'); 
}); 
//----插入
var userAddSql = 'insert into user (name,pwd) values(?,?)';
var param = ['fff','123'];
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 where id=?',[2], function(err, rs) { 
  if (err) { 
    console.log('[query] - :'+err); 
    return; 
  } 
  for(var i=0;i<rs.length;i++){
    console.log('The solution is: ', rs[i].uname); 
  }
});  

//关闭connection 
connection.end(function(err){ 
  if(err){ 
    console.log(err.toString());
    return; 
  } 
  console.log('[connection end] succeed!'); 
});

但是实际每次创建连接都需要一定的开销,执行效率就会有影响。下面介绍一种连接池连mysql的方法:node-mysql

2. 连接池配置使用

node-mysql是目前最火的node下的mysql驱动,是mysqlpool的一个模块。

下面的代码是提供一个连接池,getPool函数返回createPool创建的数据库连接池对象。


var mysql = require('mysql'); //调用MySQL模块 
function OptPool(){ 
  this.flag=true; //是否连接过 
  this.pool = mysql.createPool({   
    host: 'localhost',    //主机 
    user: 'root',        //MySQL认证用户名 
    password: 'root',    //MySQL认证用户密码 
    database: 'test', 
    port: '3306'          //端口号 
  }); 
 
  this.getPool=function(){ 
     return this.pool; 
  } 
}; 
module.exports = OptPool;

下面的代码展示如何使用这个连接池,插入和查询的使用。需要注意的是conn.release(); //释放一个连接放回连接池 需要再操作结束后再执行,否则后面的数据库操作会报错。


var OptPool = require('./models/OptPool'); 
 
var optPool = new OptPool(); 
var pool = optPool.getPool(); 

//执行SQL语句 
//从连接池中获取一个连接
pool.getConnection(function(err,conn){ 
  //----插入 
  var userAddSql = 'insert into user (uname,pwd) values(?,?)'; 
  var param = ['eee','eee'];
  conn.query(userAddSql,param,function(err,rs){
    if(err){ 
      console.log('insert err:',err.message); 
      return; 
    } 
    console.log('insert success'); 
    //conn.release(); //放回连接池
  })
  //查询 
  conn.query('SELECT * from user', function(err, rs) { 
    if (err) { 
      console.log('[query] - :'+err); 
      return; 
    }  
    for(var i=0;i<rs.length;i++){
      console.log(rs[i].uname); 
    }
    conn.release(); //放回连接池
  });
});

下面介绍一个复杂一点的增删查改的数据库操作,因相互之间有依赖,所以代码可读性就变得特别差。


var OptPool = require('./models/OptPool'); 
 
var optPool = new OptPool(); 
var pool = optPool.getPool(); 

var insertSQL = 'insert into table1(name,pwd) values("conan","123"),("fens.me","456")';
var selectSQL = 'select * from table1 limit 10';
var deleteSQL = 'delete from table1';
var updateSQL = 'update table1 set name="conan update" where name="conan"';

pool.getConnection(function(err,conn){ 
//delete
  conn.query(deleteSQL, function (err0, res0) {
    if (err0) console.log(err0);
    console.log("DELETE Return ==> ");
    console.log(res0);

    //insert
    conn.query(insertSQL, function (err1, res1) {
      if (err1) console.log(err1);
      console.log("INSERT Return ==> ");
      console.log(res1);

      //query
      conn.query(selectSQL, function (err2, rows) {
        if (err2) console.log(err2);

        console.log("SELECT ==> ");
        for (var i in rows) {
          console.log(rows[i]);
        }

        //update
        conn.query(updateSQL, function (err3, res3) {
          if (err3) console.log(err3);
          console.log("UPDATE Return ==> ");
          console.log(res3);

          //query
          conn.query(selectSQL, function (err4, rows2) {
            if (err4) console.log(err4);

            console.log("SELECT ==> ");
            for (var i in rows2) {
              console.log(rows2[i]);
            }
          });
        });
      });
    });
  });
})

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

您可能感兴趣的文档:

--结束END--

本文标题: nodejs进阶(6)—连接MySQL数据库示例

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

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

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

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

下载Word文档
猜你喜欢
  • nodejs进阶(6)—连接MySQL数据库示例
    1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE ...
    99+
    2022-06-04
    进阶 示例 数据库
  • nodejs连接mysql数据库简单封装示例-mysql模块
    本人最近在学习研究nodejs,下面我来记录一下,有需要了解nodejs连接mysql数据库简单封装的朋友可参考。希望此文章对各位有所帮助。 安装mysql模块 npm install mysql ...
    99+
    2022-06-04
    示例 模块 简单
  • nodejs如何连接mysql数据库
    这篇文章主要介绍nodejs如何连接mysql数据库,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!本篇文章给大家介绍一下使用nodejs连接mysql数据库的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大...
    99+
    2023-06-14
  • nodejs中操作mysql数据库示例
    引言: 继前面的NodeJS的Hello,World!我们还可以看到其他强大之处,NodeJS现在社区的火热,以及大批工程师对它的支持之下,现在已经陆续的引出了大量的module出来了。 内容: 下面这个...
    99+
    2022-06-04
    示例 操作 数据库
  • Python3 MySQL 数据库连接的使用示例
    目录什么是 PyMySQL?PyMySQL 安装数据库连接实例:创建数据库表数据库插入操作数据库查询操作数据库更新操作删除操作执行事务错误处理本文我们为大家介绍 Python3 使用 PyMySQL 连接数据库,并实...
    99+
    2022-05-26
    Python3 MySQL 数据库连接 Python3 数据库连接
  • Express连接MySQL及数据库连接池的示例分析
    这篇文章主要介绍Express连接MySQL及数据库连接池的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Express连接MySQL准备工作打开webstorm新建项目选择express创建一个expres...
    99+
    2023-06-29
  • nodejs基于mssql模块连接sqlserver数据库的示例分析
    这篇文章给大家分享的是有关nodejs基于mssql模块连接sqlserver数据库的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。本文实例讲述了nodejs基于mssq...
    99+
    2022-10-19
  • Node.js实现连接mysql数据库功能示例
    本文实例讲述了Node.js实现连接mysql数据库功能。分享给大家供大家参考,具体如下: Node.js连接数据库前,需要安装相应的包,如果安装sql server 需要先装包node-sqlserver...
    99+
    2022-06-04
    示例 功能 数据库
  • golang连接mysql数据库操作使用示例
    目录安装连接数据库处理类型(Handle Types)建表Exec使用Exec增删该示例sql预声明(Prepared Statements)QueryQueryxQueryRow和...
    99+
    2022-11-13
  • scala 连接 MySQL 数据库案例
    1 依赖准备 mysql 8添加: mysql mysql-connector-java 8.0.29 mysql 5 添加: mysql mysql-conne...
    99+
    2023-10-20
    数据库 scala mysql
  • Java连接MySQL数据库实例
    首先说明,由于是8版本的数据库,所以配置类的写法上与5版本的有所区别,需要注意,同时用idea或eclipse时需要导入jar包,jar包的下载链接: https://dev.mys...
    99+
    2022-11-13
  • golang中mysql数据库连接池的示例分析
    这篇文章主要介绍golang中mysql数据库连接池的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!golang的优点golang是一种编译语言,可以将代码编译为机器代码,编译后的二进制文件可以直接部署到目标...
    99+
    2023-06-15
  • MySQL显示连接的数据库名
    在默认下,MySQL在use databasename的时候,是不显示连接的库名! mysql> show databases; +--------------------+ | Database ...
    99+
    2022-10-18
  • python3 实现mysql数据库连接池的示例代码
    dbutils封装文件传送门 DBUtils是一套Python数据库连接池包,并允许对非线程安全的数据库接口进行线程安全包装。DBUtils来自Webware for Python。...
    99+
    2022-11-12
  • golang操作连接数据库实现mysql事务示例
    目录mysql驱动posgre驱动连接postgres连接mysql初始化连接SetMaxOpenConnsSetMaxIdleConnsCRUD查询单行查询QueryRow多行查询...
    99+
    2022-11-13
  • navicat连接数据库文件的示例
    这篇文章将为大家详细讲解有关navicat连接数据库文件的示例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。怎么使用Navicat连接数据库?1、打开Navicat,点击...
    99+
    2022-10-18
  • Express连接MySQL及数据库连接池技术实例
    目录Express连接MySQL准备工作创建配置文件创建操作数据库的接口文件数据库连接池技术什么是数据库连接池数据库连接池的作用是什么?数据库连接池技术实例1、导入mysql模块2、...
    99+
    2022-11-13
  • javascript连接mysql与php通过odbc连接任意数据库的示例分析
    这篇文章主要介绍了javascript连接mysql与php通过odbc连接任意数据库的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下...
    99+
    2022-10-19
  • 【实战】nodejs 必会技能 —— 封装 mysql 数据库连接
    文章目录 一、准备工作二、连接数据库三、数据池保持连接 & 公共方法封装1.封装2.调用 四、拓展学习1.mysql 命令行(1)查看当前所有数据库:(2)使用指定数据库:(3)查看当前库...
    99+
    2023-09-03
    数据库 mysql nodejs node node.js
  • Python 连接mysql数据库进行操
    1.MySQLdb 模块是用于Python链接Mysql数据库的接口,默认是没有安装的[root@python ~]# yum  install  MySQL-python   -y2.创建python脚本[root@python ~]# ...
    99+
    2023-01-31
    数据库 Python mysql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作