php语言查询,Thinkphp 查询语言大全

class SelectAction extends Action{

function index(){

//thinkphp 查询语言

//  1.普通查询

//  2.区间查询

//  3.组合查询

//  4.复合查询

//  5.统计查询

//  6.定位查询

//  7.SQL查询

//  8.动态查询

// (一).普通查询

//  1.字符串形式

//  'id'>5 and

id<9  在SQL语句当中写的基本形式也是字符串形式

//  2.数组形式

//  $user=M('user');

//  $date['username']='aaaa';

//$date['字段名']=array('表达式','查询条件');

//

$liset=$user->where($date)->select();

//  3.对象形式

//  $user=M('user');

//  $condition=new stdClass();

//

$codition->username='aaaa';

//

$list=$user->where($a)->select();

//  查询表达式

//  EQ 等(=)

//  NEQ 不等于(!=)

//  GT 大于(>)

//  EGT 大于等于(>=)

//  LT 小于(

//  ELT 小于等于(<=)

//  LIKE 等于SQL like

//  [NOT]ETWEEN 等于SQL的BETWEEN

//  [not] in 查询集合

//  exp 比较特殊 是指使用标准SQL语言 实现更加复杂的情况

//==============================================================================

//普通查询

//$mo=M('Mvc');

//-------输出ID等于4的所有字段--------

//$list=$mo->where('id=4')->select();

1.字符串形式

//$list=$mo->where(array('id'=>array('EQ','4')))->select();

2.数组形式

//$conditon=new stdClass();

//$conditon->id=4;

3.对象形式

//-------输出ID不等于4的所有字段--------

//$condition="id!=4";  1.字符串形式

//$conditon['id']=array('NEQ','4');

2.数组形式

//-------like的使用

找用户名以h字母开始的---------

//$condition="name like 'h%'";

1.字符串形式

//$condition['name']=array('like','h%');

2.数组形式

//$condition=array('name'=>array('like','h%'));

2.数组形式另一种写法

//-------BETWEEN的使用 找到id 4 到id

10的值-------

//$condition="id between '4' and '10'";

1.字符串形式

//$condition['id']=array('between','4,10');

2.数组形式

//$condition=array('id'=>array('between','4,10'));

2.数组形式另一种写法

//$condition['id']=array('between',array('4','10'));

2.1三维数组的数组形式

//$condition=array('id'=>array('between',array('4','10')));

2.1三维数组的数组形式另一种写法

//$condition['id']=array('not

between','4,10');  not between

//-------in的使用 找到name 是

ccc,ggg,nnn的行---------

//$condition="name in ('ccc','ggg','nnn')";

1.字符串形式

//$condition['name']=array('in','ccc,ggg,nnn');

2.数组形式

//$condition['name']=array('in',array('ccc','ggg','nnn'));

2.1三维数组的数组形式

//-------exp 的使用  找到name 是

ccc,ggg,nnn的行--------

//$condition['name']=array('exp',"in('ccc','ggg','nnn')");

2.数组形式

//==========================================================================================================

//区间查询  区间查询就是同一字段间 跨值查询 归根到底 还是数组查询

查询表达式BETWEEN能代替其中一部分 但是区间查询更灵活 范围更广

//$map['字段名']  =

array(第一个条件array('like','%a%'), 第二个条件array('like','%b%'),

第三个条件array('like','%c%'), 第三个条件'ThinkPHP',条件间的关系'or 或

and');

//------查找id大于3

小于10的行------

//$condition="id>=3 and id<=10";

1.字符串形式

//$condition['id']=array('between','3,10');

2.between

//$condition['id']=array(array('EGT',3),array('ELT',10));

3.区间查询

//$condition['id']=array(array('GT',3),array('LT',10),'or');

//==========================================================================================================

//组合查询  组合查询 就是跨字段查询

//$condition['id']=array('EQ',8);

//$condition['name']=array('EQ','ccccc');

//$condition['_string']="id=2";

就是在后面加上标准的sql where语句

//$condition['_logic']='or';

字段条件之间的关系

//=========================================================================================================

//复合查询  复合查询是包括区间查询  和 组合查询

先写优先级高的模块 然后 __complex压入大模块中

//---------查询表 name为 含有c 2开头 g结尾

其中c结尾的id必须为2-----------

//$condition="(name like '%c%' and id=2 )or

name like '2%' or name like '%g'";查询字符串

//  $date['name']=array('like','%c%');

//  $date['id']=2;

//  $date['_logic']='and';

//  $condition['_complex']=$date;

//

$condition['name']=array(array('like','2%'),array('like','%g'),'or');

//  $condition['_logic']='or';

//---------查询表 name为 含有c 2开头

其中c结尾的id必须为2 2开头必须ip是127%

他们必须同时time不为空  -------

//  $condition="(name like '%c%' and id=2 and

time!='') or (name like '2%' and ip like '127%' and time!='')";

1.字符串形式

//  -------------------

//  $date['name']=array('like','%c%');

2.数组加字符串形式

//  $date['id']=2;  复合查询

是数组查询的一种形式 所有受到数组查询的

//  $date['time']=array('NEQ','');

局限性 每个特殊查询 只能使用一次(_string

_query

//  $date['_logic']='and';  _complex)只能使用一次

//  $twda['_complex']=$date;

//  $twda['_string']="name like '2%' and ip

like '127%' and time!=''";

//  $twda['_logic']='or';

//  $condition['_complex']=$twda;

//  -------------------

//==========================================================================================================

//统计查询

//  $mo->count('字段'); 总数

//  $mo->max('字段') 最大值

//  $mo->min('字段') 最小值

//  $mo->avg('字段') 平均数

//  $mo->sum(字段) 和

$mo=M('CommonModel:Mvc');

//$list=$mo->count('id');

//==========================================================================================================

//定位查询 getN是一个很好 很灵活的 获取查询结果中部分值的方法 主要其使是 0

可以和limit 互通

//$list=$mo->getN(-5);

//$list=$mo->where('id=11')->Last();

//==========================================================================================================

//动态查询  动态查询 简单也更快速

//  一.getBy动态查询 一直快速查询对应字段值 的单条数据的利器

//$list=$mo->getByname(nnn);

//$list=$mo->getByid('3');

//二. getFieldBy 针对某个字段的值 获取单条数据的单个信息

//$list=$mo->getFieldByid('2','name');

//三. top动态查询 top动态查询和limit能互换

!!!!!!!!此处很奇怪

5要加在括号前面!!!!!!!!

//$list=$mo->top5();

//$list=$mo->where($condition)->select();

dump($list);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值