# mySQL 的连接

# 连接数据库

安装 mysql 插件:npm i mysql,然后进行连接:

const mysql = require('mysql')

// 创建连接对象
const con = mysql.createConnection({
  host: 'location',
  user: 'root',
  password: 'mysql',
  port: '3306',
  database: 'myblog'
})
// 开始连接
con.connect()

// 执行 sql 语句
const sql = 'select * from users;'
// 执行查询、更新、删除
con.query(sql, (err, result) => {
  if (err) {
    console.log(err)
    return
  }
  // 返回数组
  console.log(result)
})

// 关闭连接
con.end()

一般将数据库的配置需要根据开发环境而定,来根据不同的环境连接不同的数据库:

const env = process.env.NODE_ENV // 环境参数
// 配置
let MYSQL_CONF

if (env === 'dev') {
  MYSQL_CONF = {
    host: 'location',
    user: 'root',
    password: 'mysql',
    port: '3306',
    database: 'myblog'
  }
}

if (env === 'production') {
  MYSQL_CONF = {
    host: '47.123.5.23',
    ser: 'root'
    password: 'mysql',
    port: '3306',
    database: 'myblog'
  }
}
module.exports = {
  MYSQL_CONF
}

# 封装数据库操作函数

const mysql = require('mysql')
// 获取到数据库的配置 --上面的代码
const { MYSQL_CONF } = require('../conf/db')

// 创建连接对象
const con = mysql.createConnection(MYSQL_CONF)

// 开始连接
con.connect()

// 统一执行 sql 的函数
function exec(sql) {
  return new Promise((resolve, reject) => {
    // 执行查询、更新、删除
    con.query(sql, (err, result) => {
      if (err) {
        reject(err)
        return
      }
      // 返回结果
      resolve(result)
    })
  })
}

module.exports = {
  exec
}

评 论:

更新: 11/21/2020, 7:00:56 PM