TP6数据库操作写法

//添加数据
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();

关联表查询

Db::table('comment')
            ->field("comment.id,comment.usersid,comment.content,comment.time,member.u_name")
            ->leftJoin('member','member.id=comment.usersid')
            ->where($where)
            ->order('id')
            ->paginate([
                'list_rows'=>$list_rows,     //每页几条
                'page'=>$page               //当前页
                
            ]);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值