一、where
- 表达式查询 where() 方法的基础查询方式
Db::name('user')->where('id','<',10)->select();
- 关联数组查询 键值对来数组键值对匹配的查询方式
Db::name('user')->where([
'gender' => '女',
'price' => 20
])->select();
- 索引数组查询,数组里的数组拼装方式查询
Db::name('user')->where([
['gender','=','男'],
['price','>','100'],
['code','in',[1,2,5]
])->select();
- 字符串形式传递,简单粗暴的查询方式,whereRaw() 支持复杂字符格式
Db::name('user')->whereRaw('gender ="男" AND price IN(30,40,60)')->select();
- 预处理模式查询
Db::name('user')->whereRaw('id=:id',['id'=>6])->select();
二. field
- field() 指定查询的字段
Db::name('user')->field('id,name')->select();
Db::name('user')->field(['id','name'])->select();
- field() 指定查询字段别名
Db::name('user')->field('id,name as user_name')->select();
Db::name('user')->field(['id','name'=>'user_name'])->select();
- fieldRaw() 直接给指定段设置 MySql 函数
Db::name('user')->fieldRaw('id,SUM(price)')->group('id')->select();
- field(true) 布尔参数,查询获取所有字段
Db::name('user')->field(true)->select();
- withoutField() 排除不想显示的字段
Db::name('user')->withoutFiled('name')->select();
- field() 新增时验证字段合法性
$data = ['name'=>'汪小小','email'=>'123456@qq.ocm'];
Db::name('user')->field('name,email')->insert($data);
三、alias
- alias() 数据库起别名
Db::name('user')->alias('u')->select();
四、limit
- limit() 限制获取输出数据的个数
Db::name('user')->limit(5)->select();
Db::name('user')->limit(2,5)->select();
五、page
- page() 分页方法,优化了 limit() ,无须计算分页条数
Db::name('user')->page(2,5)->select();
六、order
- order() 指定排序方式,没有指定第二个参数,默认 asc,
Db::name('user')->order('id','desc')->select();
- 数组方式,对多个字段进行排序
Db::name('user')->order(['price'=>'asc','id'=>'asc'])->select();
- 使用 orderRaw() 方法,排序时指定 mysql 函数
Db::name('user')->orderRaw('FIELD(id,3,2,4,1) DESC')->select();
七、group
- group() 分组统计
Db::name('user')->fieldRaw('gender,SUM(price)')->group('gender')->select();
- 多字段分组统计
Db::name('user')->fieldRaw('gender,SUM(price)')->group('gender,class')->select();
五、having
- group() 分组之后,having() 进行筛选
Db::name('user')
->fieldRaw('gender,SUM(price)')
->group('gender')
->having('SUM(price)>100')
->select();