0.0.1 • Published 7 years ago
goat-mysql v0.0.1
goat-mysql
安装
npm install goat-mysql
使用
const MysqlClient =require('goat-mysql')
const mysql = new MysqlClient({
{
'client': {
enable: true,
host: '127.0.0.1',
port: '3306',
database: 'DBNAME',
user: 'YOU-NAME',
password: 'YOU-PASSWORD',
pool: {
min: 2,
max: 10
}
}
}
},app)
方法
- table 表名
- opts 条件
{
columns:[],//返回的字段列 默认'*',[string,string]
where:{
key:'xxx',
key2:['aaa','bbb']
},
order:[['aaa','DESC'],['bbb','ASC']] //排序规则。 字符串,数组
limit:1,
offset:0
}
query(sql,values)
直接运行sql命令
var results = await mysql.query('select * form app_user')
//参照:SqlString.format
var results = await mysql.query('select * form app_user')
count(table,where)
统计
var results = await mysql.query(app_user,{
key:'xxx'
})
select(table,opts)
查询数据
var userInfo = {
userID:'U23sdfasdfqwer234'
...
}
let results = await mysql.select('app_user', {
columns:['userID'...] // columns:'*'
where:{},
offset:0,
limit:10, // 生成:LIMIT 0,10
order:[
['userID','ASC'] // 生成:ORDER BY userID ASC,...
...
'userID' // 生成:ORDER BY userID
]
}})
console.log(results)
//返回结果数组
insert(table,rows)
插入数据
let results = await mysql.insert('app_user', userInfo)
console.log(results)
update(table, row, opts)
更新数据
delete(table,where)
删除数据
返回
{
fieldCount: 0,
affectedRows: 1, //影响行数
insertId: 0,
serverStatus: 2,
warningCount: 0,
message: '',
protocol41: true,
changedRows: 0
}
事务操作
手动模式
let tran = await mysql.beginTransaction()
try{
await tran.query('...')
await tran.commit()
}catch(e){
await tran.rollback()
}
自动模式:
await mysql.beginTransaction(async (tran)=>{
await tran.query('...')
await tran.select('...')
await tran.select('...')
...
})
0.0.1
7 years ago