egg框架访问 Mysql 数据库 egg-mysql 增删改查

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

插入数据

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

删除数据

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

更新数据

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

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

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

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

let row = {
  name: 'fengmk2'
};
let options = {
    where: {
        user_id: 1
    }
};
this.app.mysql.update('table-name', row, options );

查询数据

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']                         //查询的字段
});

原生sql查询

this.app.mysql.query("SELECT * FROM table-name WHERE status=1 ……");
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
对于 Egg.js 和 MySQL增删改查语句,你可以借助 Egg.js 提供的框架特性和 MySQL 的 npm 包来完成。以下是一些示例代码: 1. 安装依赖: ``` $ npm install egg-mysql --save ``` 2. 配置插件: 在 `config/plugin.js` 中添加以下配置: ``` exports.mysql = { enable: true, package: 'egg-mysql' }; ``` 3. 配置数据库连接: 在 `config/config.default.js` 中添加以下配置(根据你自己的实际情况修改): ``` exports.mysql = { client: { host: 'localhost', port: '3306', user: 'root', password: 'your_password', database: 'your_database' } }; ``` 4. 使用增删改查语句: 在 Controller 或 Service 中使用以下示例代码来执行相应的 SQL 操作。 注意:这里只是示例,你需要根据具体的业务逻辑进行修改。 - 查询数据: ```javascript const res = await app.mysql.get('table_name', { id: 1 }); // 获取 id 为 1 的数据 const res = await app.mysql.select('table_name', { where: { status: 1 }, orders: [[ 'create_time', 'desc' ]], limit: 10 }); // 获取 status 为 1 的前 10 条数据,按照创建时间降序排列 ``` - 插入数据: ```javascript const res = await app.mysql.insert('table_name', { name: 'example' }); // 插入一条数据,name 字段为 'example' ``` - 更新数据: ```javascript const res = await app.mysql.update('table_name', { name: 'new_example' }, { where: { id: 1 } }); // 更新 id 为 1 的数据,将 name 字段更新为 'new_example' ``` - 删除数据: ```javascript const res = await app.mysql.delete('table_name', { id: 1 }); // 删除 id 为 1 的数据 ``` 这只是一些基本的示例,你可以根据需要使用更复杂的查询条件和操作。具体的语法和用法可以参考 Egg.js 和 MySQL 的官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吾爱白嫖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值