1. //添加数据
  2. Db::name('user')->insert($data);
  3. //过滤不存在的字段的值
  4. Db::name('user')->strict(false)->insert($data);
  5. //返回新增数据的自增主键
  6. $userId = Db::name('user')->insertGetId($data);
  7. //添加多条数据
  8. Db::name('user')->insertAll($data);
  9. // 分批写入 每次最多100条数据
  10. Db::name('user')->limit(100)->insertAll($data);
  11. //更新数据
  12. Db::name('user')->where('id', 1)->update(['name' => 'thinkphp']);
  13. // score 字段加 5( 如不加第二个参数,默认步长为1)
  14. Db::table('think_user')->where('id', 1)->inc('score', 5)->update();
  15. // score 字段减 5
  16. Db::table('think_user')->where('id', 1)->dec('score', 5)->update();
  17. //删除数据
  18. // 根据主键删除
  19. Db::table('think_user')->delete(1);
  20. Db::table('think_user')->delete([1,2,3]);
  21. // 条件删除
  22. Db::table('think_user')->where('id',1)->delete();
  23. Db::table('think_user')->where('id','<',10)->delete();
  24. // 无条件删除所有数据
  25. Db::name('user')->delete(true);
  26. // 软删除数据 使用delete_time字段标记删除
  27. Db::name('user')->where('id', 1)->useSoftDelete('delete_time',time())->delete();
  28. //数据查询
  29. //查询单个数据
  30. Db::name('user')->where('id', 1)->find();
  31. //查询多个数据
  32. Db::name('user')->where('status', 1)->select();
  33. //查询某个字段的值
  34. Db::table('think_user')->where('id', 1)->value('name');
  35. //查询某一列的值
  36. Db::table('think_user')->where('status',1)->column('name');
  37. //游标查询
  38. $cursor = Db::table('user')->where('status', 1)->cursor();
  39. //表达式查询
  40. Db::name('user')->where('id','>',100)->select();
  41. Db::name('user')->where('name', 'like', 'thinkphp%')->select();
  42. Db::name('user')->where('id','between','1,8')->select();
  43. Db::name('user')->where('id','in','1,5,8')->select();
  44. //指定字段查询
  45. Db::table('user')->field('id,nickname as name')->select();
  46. //使用SQL函数查询
  47. Db::table('user')->fieldRaw('id,SUM(score)')->select();
  48. //限制结果数量
  49. Db::table('user')->where('status',1)->field('id,name')->limit(10)->select();
  50. //多表查询
  51. Db::table('think_artist')
  52. ->alias('a')
  53. ->join('work w','a.id = w.artist_id')
  54. ->join('card c','a.card_id = c.id')
  55. ->select();
  56. //分页查询,从第10行开始的25条数据
  57. Db::table('article')->limit(10,10)->select();
  58. Db::table('article')->page(1,10)->select();
  59. $list = Db::name('user')->where('status',1)->order('id', 'desc')->paginate(10);
  60. $count = $list->total(); // 获取总记录数
  61. $page = $list->render(); // 获取分页显示
  62. //分页后数据处理
  63. $list = Db::name('user')->where('status',1)->order('id', 'desc')->paginate()->each(function($item, $key){
  64. $item['nickname'] = 'think';
  65. return $item;
  66. });
  67. //聚合查询
  68. Db::table('think_user')->count();
  69. Db::table('think_user')->max('score');
  70. Db::table('think_user')->min('score');
  71. Db::table('think_user')->avg('score');
  72. Db::table('think_user')->sum('score');
  73. //时间查询
  74. Db::name('user')->whereTime('birthday', '>=', '1970-10-1')->select();
  75. Db::name('blog')->whereTime('create_time','-2 hours')->select(); // 查询两个小时内的博客
  76. // 查询2017年上半年注册的用户
  77. Db::name('user')->whereBetweenTime('create_time', '2017-01-01', '2017-06-30')->select();
  78. //按年、月、日、周查询
  79. Db::name('user')->whereYear('create_time', '2018')->select();
  80. Db::name('user')->whereMonth('create_time', '2018-06')->select();
  81. Db::name('user')->whereDay('create_time', '2018-06-01')->select();
  82. Db::name('user')->whereWeek('create_time')->select();
  83. //闭包构造子查询
  84. Db::table('think_user')
  85. ->where('id', 'IN', function ($query) {
  86. $query->table('think_profile')->where('status', 1)->field('id');
  87. })
  88. ->select();

点赞(227) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部