# nodeJs 连接 mysql

TIP

安装 mysql 依赖:yarn add mysql

注意,下面代码展示的版本是 2.18.1

# 目标

  • 创建一个数据库的链接和执行 sql 语句的公共方法
// 注意当前 mysql 版本是 2.18.1

const mysql = require("mysql");

const MYSQL_CONF = {
  host: "localhost", // 也可以是 ip
  user: "root", // 用户名
  password: "1234567890", // 密码
  database: "blog", // 数据库名称
};

// 创建链接对象
const connection = mysql.createConnection(MYSQL_CONF);

// 开始链接
connection.connect(function (err) {
  if (err) {
    console.error("mysql error connecting: " + err.stack);
    return;
  }

  console.log("mysql connected as id " + connection.threadId);
});

// 统一执行 sql 语句的函数
function execSQL(sql) {
  const promise = new Promise((resolve, reject) => {
    connection.query(sql, (err, result) => {
      if (err) {
        resolve([err, null]);
        return;
      }

      resolve([null, result]);
    });
  });

  return promise;
}

module.exports = {
  execSQL,
  escape: mysql.escape, // 这个用来防止 sql 语句注入风险
};