thinkPHP查询操作

来源:互联网 发布:sql零基础视频教程 编辑:程序博客网 时间:2024/06/05 14:50

实现数据的查询操作

一、普通的查询方式,与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);*/
1 0
原创粉丝点击