查询数据
查询单条数据 使用 find() 方法
// table方法必须指定完整的数据表名
Db::table('user')->where('id',1)->find();
find方法查询结果不存在返回NULL,否则返回结果数组
查询多条数据/数据集 使用 select() 方法
Db::table('user')->select();
select方法查询结果是一个数据集对象,如果需要转换成数组可以使用 toArray()
Db::table('user')->select()->toArray();
值和列的查询
查询某个字段的值可以使用 value()
// 查询某一字段某一个值--必须加条件
Db::table('user')->where('id',1)->value('name');
value查询结果不存在,返回NULL
查询某一列的值可以使用 column()
// 查询某一列的值
Db::table('user')->column('name');
column查询结果不存在,返回空数组
添加数据 save insert
可以使用save方法统一写入数据,自动判断是新增还是更新数据(以写入数据中是否存在主键数据为依据)。
// save
$arr = ['name' => 'zhangsan' , 'pasd' => 123456];
Db::table('user')->save($arr);
// insert
$arr = ['name' => 'zhangsan' , 'pasd' => 123456];
Db::table('user')->insert($arr);
添加数据后如果需要返回新增数据的自增主键,可以使用insertGetId方法新增数据并返回
主键值:
Db::table('user')->insertGetId($arr);
添加多条数据直接向 Db 类的 insertAll 方法传入需要添加的数据(通常是二维数组)即可。
// 添加多条数据
$arr = [
['name'=>'zhangsan','pasd'=>123456],
['name'=>'lisi','pasd'=>123456],
['name'=>'wangwu','pasd'=>123456]
];
// insertAll
Db::table('user')->insertAll($arr);
insertAll方法添加数据成功返回添加成功的条数
更新数据
可以使用save方法或者update方法
// 更新数据
$arr = [
'id'=>1,
'name'=>'zhangsan',
'pasd'=>123456
];
// save -- 数组里面加条件
Db::table('user')->save($arr);
$arr = [
'name'=>'zhangsan',
'pasd'=>123456
];
// update -- 执行语句加条件
Db::table('user')->where('id',1)->update($arr);
数据自增、自减
可以使用inc/dec方法自增或自减一个字段的值( 如不加第二个参数,默认步长为1)。
// 自增、自减
Db::table('user')->where('id',10)->inc('jsid',5)->update();
Db::table('user')->where('id',10)->dec('jsid',5)->update();
删除数据
// 根据主键删除
Db::table('think_user')->delete(1);
Db::table('think_user')->delete([1,2,3]);
// 条件删除
Db::table('think_user')->where('id',1)->delete();
Db::table('think_user')->where('id','<',10)->delete();