thinkPHP查询操作

实现数据的查询操作

一、普通的查询方式,与where搭配进行使用,where语句能和select,find,getField搭配使用作为查询语句的条件

a.where语句中放置字符串

$n = new Model(User); 
$arr = $n -> where("id = 24 and username = '信息学院'") -> find();

b.where语句中放置数组

$n = new Model(User); 
$data['username'] = ?; 
$arr = $n -> where($data) -> find(); 

_*注意:find方法只能查询出一条语句,要想查询多条数据,使用select方法*

二、表达式的查询方式,利用数组

a.条件表达方式,不区分大小写

GT 大于 greater than
EQ 等于 equal
LT 小于 less than
EGT 大于等于
ELT 小于等于
NEQ 不等于 not equal

模糊查询

LIKE NOTLIKE //必须没有空格
BETWEEN
NOT BETWEEN //必须有空格
IN
NOT IN //必须有空格

b.查询方式

非模糊查询

$n = new Model(User);
$data['id'] = array('GT',20); 
$arr = $n -> where($data) -> select(); 
var_dump(); 

模糊查询:根据字段进行查询,%?%表示字段中含有?字符即可,?%表示以?开始的字符串,%?表示以?字符结尾的字符串

~LIKE方式
@进行单条件查询时
$n = new Model(User); 
$data['username'] = array('like',"%中%"); 
$arr = $n -> where($data) -> select(); 
var_dump($arr); 
@进行多条件查询时
$n =new Model(User); 
$data['username'] = array('like',array('%中%','%学%'));//或者的关系,为默认值 $data['username'] = array('like',array('%中%','%大%',%学%'),'and'); 
$arr = $n -> where($data) -> select(); var_dump($arr); 
~BETWEEN的查询方式
@between方式
$n = new Model(User); 
$data['id'] = array('between',array(1,20)); 
$arr = $n -> where($data)->select(); 
var_dump(); 
@not between
$n = new Model(User); 
$data['id'] = array('not between',array(1,20)); 
$arr = $n -> where($data)->select(); 
var_dump(); 
~IN的查询方式
@in方式
$n = new Model(User); 
$data['id'] = array('in',array(2,6,7)); 
$arr = $n -> where($data) -> select(); 
var_dump(); 
@not in方式
$n = new Model(User); 
$data['id'] = array('not in',array(2,6,7)); 
$arr = $n -> where($data) -> select(); 
var_dump();

三、区间的查询方式

a.数组data中放置要查询的区间

$n = new Model(User); 
$arr = $n -> where($data) -> select(); var_dump(); 

b.向条件中添加子数组

$data['username'] = array(array('like','%中%'),array('like','%学%'),'or'); 

四、统计查询

@count

$n = new Model(User); 
$n -> count(); 

@max

$n = new Model(User); 
$n -> max('id'); 

@min

$n = new Model(User); 
$n -> min('id'); 

@avg

$n = new Model(User); 
$n -> avg('id'); 
@sum $n = new Model(User); 
$n -> sum('id'); 

五、SQL方式直接查询

@query(“”);

用于读取数据,成功返回数据的结果集即数组,失败则返回boolean false

$n = new Model(); 
$result = $n -> query("select * from tp_user where id > 20"); 
var_dump($result); 

@execute(“”);

用来更新数据的操作,成功则返回影响的行数,不成功则返回boolean false

$n = new Model(); 
$result = $n -> execute("insert into tp_user(username) values('朱传波')");//不要有在字段名之前加引号 
$result = $n -> execute("insert into tp_user values('','朱传波','1')") var_dump($result); 

模型中的连贯操作

1、where:设置查询的条件

2、order:对结果进行排序

        $arr = $m -> order('id desc') -> select();
        $arr = $m -> order(array('id' => 'desc','sex' => 'asc')) -> select();

3、limit:限制结果

        limit(2,5);
        limit('2,5');
        limit(10)//limit(0,10);

4、field:设置查询字段

        field('username as name,id');//将username的名称设为name
        field(array('username' => 'name','id'));
        field('id',true);*/

你可能感兴趣的:(thinkphp基础)