新增信息
使用insert()方法可以向数据表添加一条数据:
public function insert(){
$data = [
'username' =>'辉夜',
'password' =>'123',
'gender' =>'女',
'email' =>'huiye@163.com',
'price' =>90,
'datails' =>'123',
'create_time' =>date('Y-m-d H:i:s')
];
Db::name('user')->insert($data);
}
如果新增成功,insert()方法会返回一个1值;
$insert = Db::name('user')->insert($data);
return $insert;
你可以使用data()方法来设置添加的数据数组;
Db::name('user')data($data)->insert();
如果你添加一个不存在的数据,会抛出一个异常Exception;
- 如果采用的是mysql数据库,支持REPLACE写入;
使用insertGetId()方法,可以在新增成功后返回当前数据ID;
Db::name('user')->insertGetId($data);
使用insertAll()方法,可以批量新增数据,但要保持数组结构一致;
public function insertAll(){
$dataAll =[
[
'username' =>'辉夜',
'password' =>'123',
'gender' =>'女',
'email' =>'huiye@163.com',
'price' =>90,
'datails' =>'123',
'create_time' =>date('Y-m-d H:i:s')
],
[
'username' =>'辉夜',
'password' =>'123',
'gender' =>'女',
'email' =>'huiye@163.com',
'price' =>90,
'datails' =>'123',
'create_time' =>date('Y-m-d H:i:s')
]
];
Db::name('user')->insertAll($data);
}
批量新增也支持data()方法,和单独新增类似;
Db::name('user')->($data)->insertAll();
批量新增也支持reaplce写入,和单独新增类似;
Db::name('user')->insertAll($data, true);
修改数据
使用update()方法来修改数据,修改成功返回影响行数,没有修改返回e;
$data=[
'username' =>'李白'
];
$update = Db::name('user')->where('id', 38)->update ($data);
return $update;
public function updata(){
$data=[
'username' =>'李白'
];
Db::name('user')->where('id',1)->update($data);
}
或者使用data()方法传入要修改的数组,如果两边都传入会合并;
Db::name('user')->where('id',1)->data($data)->update(['password'=>'456']);
如果修改数组中包含主键,那么可以直接修改;
public function updata(){
$data=[
'username' =>'李白',
'id' =>38
];
Db::name('user')->update($data);
}
使用inc()方法可以对字段增值,dec()方法可以对字段减值;
public function updata(){
$data=[
'username' =>'李白',
];
Db::name('user')->dec('price',3)->update($data);
Db::name('user')->inc('price',)->update($data);
}
增值和减值如果同时对一个字段操作,前面一个会失效;
使用exp()方法可以在字段中使用mysql函数;
Db::name('user')->exp('email','UPPER(email)')->update($data);
使用setField()方法可以更新一个字段值;
Db::name('user')->where('id',38)->setField('username','辉夜');
增值setInc()和减值setDec()也有简单的做法,方便更新一个字段值;
Db::name('user')->where('id',38)->setInc('username','辉夜');
-
删除数据
极简删除可以根据主键直接删除,删除成功返回影响行数,否则0;
Db::name('user')->delete(11);
根据主键,还可以删除多条记录;
Db::name('user')->delete([48,49,50]);
正常情况下,通过where()方法来删除;
Db::name('user')->where('id',18)->delete([48,49,50]);
通过true参数删除数据表所有数据,我还没测试,大家自行测试下;
Db::name('user')->delete(true);