11 KiB
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