🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
#### 从数据表中取得所有的数据列 ``` sql::table('user')->get(); ``` #### 取得指定的字段 ``` sql::table('user')->get(['username','age']); ``` #### 从数据表中取得单一数据列 ``` sql::table('user')->where('username','张三')->first(); //取出指定主键的值 Db::table('user')->first(2); ``` #### 从数据表中取得单一数据列的单一字段 ``` sql::table('user')->where('username', '李四')->pluck('username'); //返回第一条记录的 username 字段值 ``` #### 取得单一字段值的列表 ``` sql::table('user')->lists('username'); //满足条件记录的所有username字段 [ [0] => admin [1] => This7 ] ``` #### 返回一维数组,第一个字段做为键名使用,第 2 个字段做为键值 ``` sql::table('user')->lists('id,username'); //id 字段做为键名使用 [ [1] => admin [2] => This7 ] ``` #### 多个字段返回二维数组,第一个字段值做为键名使用,其余字段做为键值 ``` sql::table('user')->lists('id,username,age'); //返回值如下 [ [1] => [ [id] => 1 [username] => admin [age] => 22 ] [2] => [ [id] => 2 [username] => hdxj [age] => 67 ] ] ``` #### like模糊查询 第三个参数为null时,查询忽略 ``` sql::table( 'rule' )->where( 'name','like', "%李%" )->get() ``` #### 指定查询结果字段 ``` sql::table('user')->field('username AS name,age')->get(); 或 sql::table('user')->field(['username','age'])->get(); ``` #### 根据某个字段查询 ``` sql::table('user')->getByName("hdphp"); //返回一条记录 ``` #### 增加查询子句到现有的查询中 ``` $db = sql::table('user')->field('username AS name','age','id'); $db->where('id','>',2)->get(); ``` #### 使用 where 及运算符 第二个参数为null时,查询忽略 ``` sql::table('user')->where('id','>',1)->get(); sql::table('user')->where('id','>',1)->where('id','<',10)->get(); ``` #### where以数组形式传参 ``` $where=[ ['id','>',3], ['status',0] ]; sql::table('user')->where($where)->get(); ``` #### whereNotEmpty内容为空时不设置 当查询参数为空时忽略本次条件设置,以下代码的where条件不会添加到SQL中。 ``` sql::table('user')->whereNotEmpty('username','')->get(); ``` #### 使用andwhere ``` sql::table('user')->where('id','>',1)->andwhere('id','<',10)->get(); ``` #### 使用orwhere ``` sql::table('user')->where('id','>',1)->orwhere('id','<',10)->get(); ``` #### 使用 logic 条件连接符 ``` sql::table('user')->where('id','>',1)->logic('or')->where('id','<',22)->get(); ``` #### 预准备whereRaw ``` sql::table('user')->whereRaw('age > ? and username =?', [1,'admin'])->get(); ``` #### 使用 whereBetween ``` sql::table('user')->whereBetween('id',[10,30])->get(); ``` #### 使用 WhereNotBetween ``` sql::table('user')->whereNotBetween('id',[10,30])->get(); ``` #### 使用 WhereIn ``` sql::table('user')->whereIn('id',[2,3,9])->get(); ``` #### 使用 WhereNotIn ``` sql::table('user')->whereNotIn('id',[3,5,6])->get(); ``` #### 使用 WhereNull ``` sql::table('user')->whereNull('username')->get(); ``` #### 使用 WhereNotNull ``` sql::table('user')->whereNotNull('id')->get(); ``` #### 指定条件关系 ``` sql::table('user')->where('id','>',1)->logic('AND')->whereBetween('id',[1,10])->get(); ``` #### 排序(Order By) ``` sql::table('user')->orderBy('id','DESC')->get(); sql::table('user')->orderBy('id','DESC')->orderBy('rank','ASC')->get(); //多个排序条件 ``` #### 分组GROUP BY ``` sql::table('user')->groupBy('age')->get(); ``` #### 分组筛选HAVING ``` sql::table('user')->groupBy('age')->having('count(sex)','>',2)->get(); ``` #### 取部分数据LIMIT ``` sql::table('user')->limit(2)->get(); sql::table('user')->limit(2,5)->get(); ``` ## 聚合 #### max ``` sql::table("user")->max('id'); ``` #### min ``` sql::table("user")->min('id'); ``` #### avg ``` sql::table("user")->avg('id'); ``` #### sum ``` sql::table("user")->sum('id'); ``` ## JOIN多表关联 #### 多表关联INNER JOIN ``` sql::table('user') ->join('class','user.cid','=','class.cid') ->join('contacts','user.id','=','contacts.uid') ->get() ``` #### 多表关联LEFT JOIN ``` sql::table('user')->leftJoin('class','user.cid','=','class.cid')->get(); ``` #### 多表关联RIGHT JOIN ``` sql::table('user')->rightJoin('class','user.cid','=','class.cid')->get(); ```