laravel - 查询构建器2

插入语句

insert

  1. 接受一个列名和值的数组
DB::table('users')->insert([
    'email' => 'kayla@example.com',
    'votes' => 0
]);
  1. 传递数组数组一次插入多条记录
DB::table('users')->insert([
    ['email' => 'picard@example.com', 'votes' => 0],
    ['email' => 'janeway@example.com', 'votes' => 0],
]);

insertOrIgnore

  1. 插入数据库时​​忽略错误
DB::table('users')->insertOrIgnore([
    ['id' => 1, 'email' => 'sisko@example.com'],
    ['id' => 2, 'email' => 'archer@example.com'],
]);

insertUsing

  1. 插入新记录,同时使用子查询来确定应该插入的数据
 DB::table('pruned_users')->insertUsing([
    'id', 'name', 'email', 'email_verified_at'
], DB::table('users')->select(
    'id', 'name', 'email', 'email_verified_at'
)->where('updated_at', '<=', now()->subMonth()));

自增 IDs

  1. insertGetId
$id = DB::table('users')->insertGetId(
    ['email' => 'john@example.com', 'votes' => 0]
);

更新语句

update

$affected = DB::table('users')
              ->where('id', 1)
              ->update(['votes' => 1]);

updateOrInsert

更新数据库中的现有记录,不存在则创建

使用第一个参数的列和值对来定位匹配的数据库记录。 如果记录存在,它将使用第二个参数中的值进行更新。如果找不到记录,将插入一条新记录。

DB::table('users')
    ->updateOrInsert(
        ['email' => 'john@example.com', 'name' => 'John'],
        ['votes' => '2']
    );

自增与自减

  1. increment
DB::table('users')->increment('votes');

DB::table('users')->increment('votes', 5);
  1. decrement
DB::table('users')->decrement('votes');

DB::table('users')->decrement('votes', 5);
  1. 在操作期间,指定要更新的其他列
DB::table('users')->increment('votes', 1, ['name' => 'John']);

删除语句

  1. delete
    从表中删除记录。返回受影响的行数
$deleted = DB::table('users')->delete();

$deleted = DB::table('users')->where('votes', '>', 100)->delete();
  1. truncate
    从表中删除所有记录并将自动递增 ID 重置为零
DB::table('users')->truncate();
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值