本人学习的Thinkphp版本为3.1.2,为比较早的版本,是在网易云课堂上跟着赵桐正老师学习的,视频地址http://study.163.com/course/courseMain.htm?courseId=266024
本文是个人学习笔记,属于原创,转载请注明出处。
1.普通查询方式
字符串
$arr = $m->where("age=1 and name = '张三' ")->find();//单条条件查询
数组(推荐)
$data["age"] = 0; $data["name"] = "张三"; $arr = $m->where($data)->find(); //采用数组的方式进行单条条件查询,数组默认采用的是and //若想要使用or关系,需要添加数组$data["_logic"] = "or";
2.表达式查询方式
判断查询
$data["id"] = array("GT",6); $arr = $m->where($data)->select();//查询所有id>6的记录 //大小写不区分 EG 等于 NEQ 不等于 GT 大于 EGT 大等于 LT 小于 ELT 小等于
模糊查询
like
$data["name"] = array("like","张%"); $arr = $m->where($data)->select();//查询所有姓“张”用户的记录
notlike(不含空格)
$data["name"] = array("notlike","张%"); $arr = $m->where($data)->select();//查询所有姓“张”用户的记录
or关系
$data["name"] = array("like",array("张%","李%","王%")); $arr = $m->where($data)->select();//查询所有姓“张”或者姓“李”、"王"的用户的记录
and关系
$data["name"] = array("like",array("张%","李%"),"and"); $arr = $m->where($data)->select();//查询所有姓“张”或者姓“李”的用户的记录 注意:如果一个字段要匹配多个通配符
Between
$data["id"] = array("between",array(5,7)); $arr = $m->where($data)->select();//查询所有id在5-7之间的记录的用户的记录
Not Between //必须得有空格
$data["id"] = array("not between",array(5,7)); $arr = $m->where($data)->select();//查询所有id在5-7之间的记录的用户的记录
In
$data["id"] = array("in",array(5,6,7)); $arr = $m->where($data)->select();//查询所有id在5,6,7三个之间的记录的用户的记录
Not In//必须得有空格
$data["id"] = array("not in",array(5,6,7)); $arr = $m->where($data)->select();//查询所有id不在5,6,7三个之间的记录的用户的记录
3.区间查询
$data["id"] = array(array("GT",5),array("LT",10));
$arr = $m->where($data)->select();//查询所有id>5 and id<10的用户的记录
$data["id"] = array(array("GT",5),array("LT",10),"or");
$arr = $m->where($data)->select();//查询所有id>5 or id<10的用户的记录
$data["name"] = array(array("like","张%"),array("like","李%"),“王五”,"or");
$arr = $m->where($data)->select();//查询所有姓“张”或者姓“李”或者叫"王五"的用户的记录
4.统计查询
Count
$m = M("User"); $c = $m->count();//所有记录数量 $data["name"] = "张三" $c = $m->where($data)->count();//name为"张三"的记录数量
Max
$c = $m->max("id");//id最大的值
Min
$c = $m->min("id");//id最小的值
Avg
$c = $m->avg("id");//id平均值
Sum
$c = $m->sum("id");//id总和
5.SQL直接查询
query主要处理读取数据操作
$m = M(); $result = $m->query( "select * from user where id > 5"); //成功返回数据的结果集,失败返回boolean false
execute用于更新和写入操作
$m = M(); $result = $m->execute("insert into user('username') values ("heavn)"); //成功返回受影响行数,失败返回boolean false