- //添加数据
- Db::name('user')->insert($data);
- //过滤不存在的字段的值
- Db::name('user')->strict(false)->insert($data);
- //返回新增数据的自增主键
- $userId = Db::name('user')->insertGetId($data);
- //添加多条数据
- Db::name('user')->insertAll($data);
- // 分批写入 每次最多100条数据
- Db::name('user')->limit(100)->insertAll($data);
- //更新数据
- Db::name('user')->where('id', 1)->update(['name' => 'thinkphp']);
- // score 字段加 5( 如不加第二个参数,默认步长为1)
- Db::table('think_user')->where('id', 1)->inc('score', 5)->update();
- // score 字段减 5
- Db::table('think_user')->where('id', 1)->dec('score', 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();
- // 无条件删除所有数据
- Db::name('user')->delete(true);
- // 软删除数据 使用delete_time字段标记删除
- Db::name('user')->where('id', 1)->useSoftDelete('delete_time',time())->delete();
- //数据查询
- //查询单个数据
- Db::name('user')->where('id', 1)->find();
- //查询多个数据
- Db::name('user')->where('status', 1)->select();
- //查询某个字段的值
- Db::table('think_user')->where('id', 1)->value('name');
- //查询某一列的值
- Db::table('think_user')->where('status',1)->column('name');
- //游标查询
- $cursor = Db::table('user')->where('status', 1)->cursor();
- //表达式查询
- Db::name('user')->where('id','>',100)->select();
- Db::name('user')->where('name', 'like', 'thinkphp%')->select();
- Db::name('user')->where('id','between','1,8')->select();
- Db::name('user')->where('id','in','1,5,8')->select();
- //指定字段查询
- Db::table('user')->field('id,nickname as name')->select();
- //使用SQL函数查询
- Db::table('user')->fieldRaw('id,SUM(score)')->select();
- //限制结果数量
- Db::table('user')->where('status',1)->field('id,name')->limit(10)->select();
- //多表查询
- Db::table('think_artist')
- ->alias('a')
- ->join('work w','a.id = w.artist_id')
- ->join('card c','a.card_id = c.id')
- ->select();
- //分页查询,从第10行开始的25条数据
- Db::table('article')->limit(10,10)->select();
- Db::table('article')->page(1,10)->select();
- $list = Db::name('user')->where('status',1)->order('id', 'desc')->paginate(10);
- $count = $list->total(); // 获取总记录数
- $page = $list->render(); // 获取分页显示
- //分页后数据处理
- $list = Db::name('user')->where('status',1)->order('id', 'desc')->paginate()->each(function($item, $key){
- $item['nickname'] = 'think';
- return $item;
- });
- //聚合查询
- Db::table('think_user')->count();
- Db::table('think_user')->max('score');
- Db::table('think_user')->min('score');
- Db::table('think_user')->avg('score');
- Db::table('think_user')->sum('score');
- //时间查询
- Db::name('user')->whereTime('birthday', '>=', '1970-10-1')->select();
- Db::name('blog')->whereTime('create_time','-2 hours')->select(); // 查询两个小时内的博客
- // 查询2017年上半年注册的用户
- Db::name('user')->whereBetweenTime('create_time', '2017-01-01', '2017-06-30')->select();
- //按年、月、日、周查询
- Db::name('user')->whereYear('create_time', '2018')->select();
- Db::name('user')->whereMonth('create_time', '2018-06')->select();
- Db::name('user')->whereDay('create_time', '2018-06-01')->select();
- Db::name('user')->whereWeek('create_time')->select();
- //闭包构造子查询
- Db::table('think_user')
- ->where('id', 'IN', function ($query) {
- $query->table('think_profile')->where('status', 1)->field('id');
- })
- ->select();
发表评论 取消回复