- 增删改操作
- 使用insert()方法可以新增一条或多条记录:
//新增一条记录,一般情况下是不予许添加key相同的数据的,比方说已经存在一个id=20的记录了,那么就不能再添加一条也是id=20的记录
$users = \DB::table(‘users’)->insert([
‘id’ => ‘24’,
‘username’ => ‘李白’,
‘password’ => “123456”,
‘gender’ => “男”,
‘email’ => ‘libai@163.com’,
‘price’ => ‘130.00’,
‘details’ => ‘123’,
‘uid’ => ‘1005’,
‘status’ => ‘1’,
‘create_time’ => ‘2015-02-09 16:23:56’,
‘update_time’ => ‘2020-07-23 20:22:56’,
]);
$users = \DB::table(‘users’)->insert([ //批量添加多条数据
[
‘id’ => ‘25’,
‘username’ => ‘周永银’,
‘password’ => “123”,
‘gender’ => “女”,
‘email’ => ‘zhouyongying@163.com’,
‘price’ => ‘520.00’,
‘details’ => ‘123’,
‘uid’ => ‘1006’,
‘status’ => ‘2’,
‘create_time’ => ‘2019-08-15 16:23:56’,
‘update_time’ => ‘2020-12-22 01:22:00’,
],[
‘id’ => ‘26’,
‘username’ => ‘阿尔泰尔’,
‘password’ => “123”,
‘gender’ => “女”,
‘email’ => ‘aertaier@163.com’,
‘price’ => ‘666.00’,
‘details’ => ‘123’,
‘uid’ => ‘1007’,
‘status’ => ‘0’,
‘create_time’ => ‘2018-08-08 13:23:56’,
‘update_time’ => ‘2020-12-21 20:22:56’,
]
]);
b. 使用insertOrIgnore()来添加记录,那么就不需要担心数据重复的问题
//会忽略掉报错信息,但是也不会新增任何数据
\DB::table(‘users’)->insertOrIgnore([
‘id’ => ‘24’,
‘username’ => ‘李白’,
‘password’ => “123456”,
‘gender’ => “男”,
‘email’ => ‘libai@163.com’,
‘price’ => ‘130.00’,
‘details’ => ‘123’,
‘uid’ => ‘1005’,
‘status’ => ‘1’,
‘create_time’ => ‘2015-02-09 16:23:56’,
‘update_time’ => ‘2020-07-23 20:22:56’,
]);
c. 使用insertGetId()方法,获取新增后的自增ID:
//获取新增后返回的ID,注意:它是真的会再去新加一条数据
return \DB::table(‘users’)->insertGetId([
‘username’ => ‘李白’,
‘password’ => “123456”,
‘gender’ => “男”,
‘email’ => ‘libai@163.com’,
‘price’ => ‘130.00’,
‘details’ => ‘123’,
‘uid’ => ‘1005’,
‘status’ => ‘1’,
‘create_time’ => ‘2015-02-09 16:23:56’,
‘update_time’ => ‘2020-07-23 20:22:56’
]);
d. 使用update()方法,可以通过条件更新一条数据内容:
//更新修改一条数据
\DB::table(‘users’)->where(‘id’, 24)
->update([
‘username’ => ‘王维’,
‘email’ => ‘wangwei@163.com’
]);
e. 使用updateOrInsert()方法,可以先进行查找修改,如果不存在,则新增:
//参数1:修改的条件
//参数2:修改的内容(新增的内容)
\DB::table(‘users’)->updateOrInsert(
[‘id’=>24],
[
‘username’=>’孟浩然’,
‘password’=>’321’, ‘gender’=>’男’,
‘email’=>’menghaoran@163.com’,
‘price’ => ‘230.00’,
‘details’ => ‘123’,
‘uid’ => ‘1005’,
‘status’ => ‘1’,
‘create_time’ => ‘2015-02-12 16:23:56’,
‘update_time’ => ‘2020-10-23 20:33:00’
]
);
f. 对于json数据,新增和修改的方法和正常数据类似:
//新增时,转换为json数据
‘list’ => json_encode([‘id’=>19])
//修改时,使用list->id指定
\DB::table(‘users’)->where(‘id’, 24)
->update([
‘list->id’ => 20
]);
g. 更新数据时,可以使用自增increment()和自减decrement()方法:
//默认自增/自减基数为1,可在第二个值设置每次增加或减少多少数字
\DB::table(‘users’)->where(‘id’, 24)->increment(‘price’, 2);
\DB::table(‘users’)->where(‘id’, 24)->decrement(‘price’, 2);
h. 使用delete()删除数据,一般来说要加上where条件,否则清空:
//删除一条数据,注意:无论哪种方法一定要传参数,否则会导致一整张表被删掉
\DB::table(‘users’)->delete(24);//方法一
\DB::table(‘users’)->where(24)->delete();//方法二
//删掉整张表
\DB::table(‘users’)->delete();
\DB::table(‘users’)->truncate();