举杯邀月

egg框架访问 Mysql 数据库 egg-mysql 模块的使用(二) 增删改查

摘要:初次使用egg框架(我是一个php开发),在访问 Mysql 的时候使用了egg官方推荐的egg-mysql,虽然初次使用还算顺利但是也遇到了点问题,今天整理记录下。

初次使用egg框架(我是一个php开发),在访问 Mysql 的时候使用了egg官方推荐的egg-mysql,虽然初次使用还算顺利但是也遇到了点问题,今天整理记录下。

egg框架访问 Mysql 数据库 egg-mysql 模块的使用(一) 安装与配置
egg框架访问 Mysql 数据库 egg-mysql 模块的使用(二) 增删改查

插入数据

let data = {
    field1: 'value',
    field2: 'value',
};
this.app.mysql.insert('table-name', data)
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5

删除数据

let where = {
    field1: 'value'
}
this.app.mysql.delete('table-name', where ;
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4

更新数据

let row = {
  id: 123,
  name: 'fengmk2',
};
this.app.mysql.update('table-name', row);
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5

更新数据会根据主键 id 进行更新,如果你的主键不是ID,那么会一个错误:

 Can not auto detect update condition, please set options.where, or make sure obj.id exists
1
1
1
1
1
1
1

报错说明了 无法自动检测更新条件,请设置 options,也就是update方法的第三个参数

let row = {
  name: 'fengmk2'
};
let options = {
    where: {
        user_id: 1
    }
};
this.app.mysql.update('table-name', row, options );
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9

查询数据

this.app.mysql.select('table-name',{
    where: { status: 1 },                            //查询条件
    orders: [['created_at','desc'], ['id','desc']],  //查询排序
    limit: 10,                                       //查询数量
    offset: 0,                                       //偏移量  如果是分页:(page - 1) * limit
    columns: ['id', 'name']                         //查询的字段
});
1
2
3
4
5
6
7
1
2
3
4
5
6
7
1
2
3
4
5
6
7
1
2
3
4
5
6
7
1
2
3
4
5
6
7
1
2
3
4
5
6
7
1
2
3
4
5
6
7

原生sql查询

this.app.mysql.query("SELECT * FROM table-name WHERE status=1 ……");
1
1
1
1
1
1
1

作者:举杯邀月

出处: http://www.hug-code.cn/archives/5fd9bc9fd7397.html

2020-10-15 标签: egg