mysqli/docs/3.x.md

11 KiB

实例化

实例化可以传入一个数组,或单个 object 配置。只有 1 个数据库时,默认是主库; 多于 1 个数据库服务时,自动以第 1 个为主库,其他的从库,故实例化时注意顺序

let Mysqli = require('mysqli')

//传入json
let conn = new Mysqli({
  host: '', // IP/域名
  post: 3306, //端口, 默认 3306
  user: '', //用户名
  passwd: '', //密码
  charset: '', // 数据库编码,默认 utf8 【可选】
  db: '' // 可指定数据库,也可以不指定 【可选】
})

// 传入数组
let conn = new Mysqli([
  {
    host: 'host1', // IP/域名
    ...
  },
  ...
])

实例 API

静态方法 escape(val)

可以对 sql 的各种类型的值进行安全转义。

emit([slave], [db])

  • slave [可选]是否"从库", 默认为 false,
  • db [可选]要连接的数据库名, 默认为空

返回一个 db 实例, 这个方法是必须要的, 所有的 sql 操作,都要先实例一个 db 对象。

let db = conn.emit(false, 'test')
db
  .tableList()
  .then(list => {
    log(list)
  })
  .catch(err => {
    log(err)
  })

DB API

是指直接对 db 进行操作的接口。如果没有特别说明,以下所有的方法, 返回的都是一个 Promise 对象。

query(sql)

  • sql sql 语句, [必传]

直接执行 sql 语句, 用于在内置的 API 不满足需求的情况下, 可以自己手写 sql 执行。

db.query('select * from `student` limit 10').then(result => {
  log(result)
})

// 前面没有指定数据库时, 也可以在这里写上
db.query('select * from `test`.`student` limit 10').then(result => {
  log(result)
})

drop(db)

  • db [可选] 要删除 db 名, 不传则删除当前连接的数据库

删除当前或指定数据库。

db.drop()

// 也可以删除指定的数据库
db.drop('foo')

dbList()

返回当前账号权限下的所有的数据名(数组)

db.dbList().then(list => {
  log(list)
})

tableList()

返回当前连接的数据库下的所有的表名(数组)

db.tableList().then(list => {
  log(list)
})

dbCreate(name, options)

  • name [必传], 数据库名字
  • options
MySQL tool
JavaScript 100%