常用的查询方法
find()方法
1,find 方法,查询多条记录,也只返回第一条
2,查询单条数据,返回一维数组
1. 根据主键查找
$arr=Db::table('learn')->find(1);
dump($arr);
2.带条件的查询
first
$arr=Db::table('learn')
->where("name","你好么")
->find();
dump($arr);
second
$arr=Db::table('learn')
->where(['name'=>'Aring']) //数组情况下,用=> 代替, 表示like
->find();
dump($arr);
3.多条件查询
first:多条件查询,数组方法
$arr=Db::table('learn')
->where(['id'=>'5','name'=>'蠢东西'])
->find();
ps:
数组方法,=>是like和=意思。
查询中,数字不需要加括号,字符串用‘’
second:多条件查询,多个where方法==>默认连接是and
$arr=Db::table('learn')
->where('name','蠢东西')
->where('title','61' )
->find();
third:多条件查询,or方法
$arr=Db::table('learn')
->where('name','蠢东西')
->whereOr('name','Aring')
->find();
fourth:多条件查询:大于号>使用————小于号<类似
$arr=Db::table('learn')
->where('id','>','3')
->find();
其他查询方法总结:
select()方法
select 可以查询多条语句,返回二位数组
多条件查询:
$arr=Db::table('learn')
->where('title','<','65')
->where('id','>','3')
->select();
wheretime时间为条件的,查询
public function time(){
$arr= Db::table('learn')
->whereTime('time','2020-1-12')
->select();
聚合查询
统计,总和,最大,最小,平均
public function juhe(){
//统计数量
//echo Db::table("learn")->count();
//最大值
//echo Db::table("learn")->max('title');
//最小值
//echo Db::table("learn")->min('title');
//平均值
echo Db::table("learn")->avg('title')."<br/>";
//<br/>换行
//总和
echo Db::table("learn")->sum('title');
}
链式查询操作
public function lianshi(){
/* $arr=Db::table('learn')
->where('id','>','2')
->order('title') //默认升序 写desc降序
->limit(2)
->select();//最后操作*/
//根据分类查询
$arr=Db::table("learn")
->field("pic,max(title)")//查询字段
->group('pic')
->select();
dump($arr);
}
子查询 ==>嵌套查询
function zichaxun(){
$arr=Db::table('learn')
->where('id','>','2')
->buildSql();
$arr1=Db::table($arr.'a') //a是$arr查询出来表的别名
->where('a.title','>',100) //任何关于数字,都别带引号
->select();
dump($arr1);
}