首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nodejs中使用mariadb库连接MySQL数据库

Nodejs中使用mariadb库连接MySQL数据库

作者头像
ccf19881030
发布2020-06-23 10:18:23
2.4K0
发布2020-06-23 10:18:23
举报
文章被收录于专栏:ccf19881030的博客ccf19881030的博客

前言

最新写了一个水质同步入库的TypeScript程序,数据库使用的是MySQL,于是选择了mariadb这个库,其npmjs官网地址为https://www.npmjs.com/package/mariadb,Github仓库地址为:https://github.com/mariadb-corporation/mariadb-connector-nodejs

Node.js连接器入门

MariaDB Node.js连接器可通过Node.js存储库获得。 您可以使用npm安装它:

$ npm install mariadb

在2017之前使用ECMAScript:

const mariadb = require('mariadb');
const pool = mariadb.createPool({
     host: 'mydb.com', 
     user:'myUser', 
     password: 'myPassword',
     connectionLimit: 5
});
pool.getConnection()
    .then(conn => {
    
      conn.query("SELECT 1 as val")
        .then((rows) => {
          console.log(rows); //[ {val: 1}, meta: ... ]
          //Table must have been created before 
          // " CREATE TABLE myTable (id int, val varchar(255)) "
          return conn.query("INSERT INTO myTable value (?, ?)", [1, "mariadb"]);
        })
        .then((res) => {
          console.log(res); // { affectedRows: 1, insertId: 1, warningStatus: 0 }
          conn.end();
        })
        .catch(err => {
          //handle error
          console.log(err); 
          conn.end();
        })
        
    }).catch(err => {
      //not connected
    });
使用ECMAScript 2017:
const mariadb = require('mariadb');
const pool = mariadb.createPool({
     host: 'mydb.com', 
     user:'myUser', 
     password: 'myPassword',
     connectionLimit: 5
});
async function asyncFunction() {
  let conn;
  try {
	conn = await pool.getConnection();
	const rows = await conn.query("SELECT 1 as val");
	console.log(rows); //[ {val: 1}, meta: ... ]
	const res = await conn.query("INSERT INTO myTable value (?, ?)", [1, "mariadb"]);
	console.log(res); // { affectedRows: 1, insertId: 1, warningStatus: 0 }

  } catch (err) {
	throw err;
  } finally {
	if (conn) return conn.end();
  }
}

MariaDB连接器可以在后端使用不同的API:PromiseCallback。 默认的API是Promise。 提供回调API是为了与mysql和mysql2 API兼容。

相关资料

MariaDB Node.js connector-MariaDB的npm官网

https://www.npmjs.com/package/mariadb Non-blocking MariaDB and MySQL client for Node.js.

MariaDB and MySQL client, 100% JavaScript, with TypeScript definition, with the Promise API.

version before 2.4 is compatible with Node.js 6+ version after 2.4 is compatible with Node.js 10+

Documentation callback-api

https://github.com/mariadb-corporation/mariadb-connector-nodejs/blob/master/documentation/callback-api.md

https://mariadb.com/kb/en/nodejs-connector/

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-06-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • Node.js连接器入门
  • 相关资料
    • MariaDB Node.js connector-MariaDB的npm官网
      • Documentation callback-api
      相关产品与服务
      云数据库 MariaDB
      腾讯云数据库 MariaDB(TencentDB for MariaDB) 让您轻松在云端部署、使用 MariaDB 数据库。MariaDB 是在 MySQL 版权被 Oracle 收购后,由 MySQL 创始人 Monty 创立,其版权授予了“MariaDB基金会(非营利性组织)”以保证 MariaDB 永远开源,良好的开源策略,是企业级应用的最优选择,主流开源社区系统/软件的数据库系统,均已默认配置 MariaDB。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档