ThinkPHP中的常用查询语言汇总


Posted in PHP onAugust 22, 2014

本文实例汇总了ThinkPHP中的常用查询语言,供大家参考之用。相信能给大家ThinkPHP开发带来一定的帮助。具体如下:

一、普通查询:

在查询带入where条件等,最少有三种形式

1、字符串形式:

'id>5 and id<9'

2、数组形式:

示例代码如下:

$user=M('user');
$data['username']='liwenkai';
$list=$user->where(array('username'=>'liwenkai'))->select();
$list=$user->where($data)->select();

3、对象形式:

示例代码如下:

$user=M('user');
$a=new stdClass();
$a->username='liwenkai';
$list=$user->where($a)->select();

4、查询表达式:

EQ              等于
NEQ             不等于
GT              大于
EGT             大于等于
LT              小于
ELT             小于等于
LIKE            等价与sql中的like
[NOT] BETWEEN   查询区间
[NOT] IN        查询集合
EXP             指使用标准SQL语句,实现更加复杂的情况

常用形式:

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

此外

$data['liwenkai']='liwenkai';

实际上等价于

$data['liwenkai']=array('eq','liwenkai');

示例如下:

$data['username']=array('like','peng%');
$list=$user->where($data)->select();

二、区间查询:

示例如下:

$user=M('user');
$data['id']=array(array('gt',20),array('lt',23),'and');
$list=$user->where($data)->select();
dump($list);
$data['username']=array(array('like','p%'),array('like','h%'),'or');

三、组合查询:

示例如下:

$user=M('user');
$data['username']='pengyanjie';
$data['password']=array('eq','pengyanjie');
$data['id']=array('lt',30);
$data['_logic']='or';
$list=$user->where($data)->select();
dump($list);

四、复合查询:

示例如下:

$user=M('user');
$data['username']=array('eq','pengyanjie');
$data['password']=array('like','p%');
$data['_logic']='or';
$where['_complex']=$where;
$where['id']=array('lt',30);
$list=$user->where($data)->select();
dump($list);

相当于

(id<30)and ( (username=pengyanjie) or (password like p%) )

五、统计查询:

示例如下:

echo $user->count();
echo '<br>';
echo $user->max('id');
echo '<br>';
echo $user->where('id<30')->min('id');
echo '<br>';
echo $user->avg('id');
echo '<br>';
echo $user->sum('id');

六、定位查询:

示例如下:

$user=new AdvModel('user');//实例化高级模型AdvModel
//$user=M('user','CommonModel');//或者将AdvModel用CommonModel来继承
$list=$user->order('id desc')->getN(2);//返回结果中的第三条
dump($list);

$list=$user->order('id desc')->last();//返回最后一条
$list=$user->order('id desc')->first();//返回第一条

七、SQL查询:

1.excute()主要用于更新和写入:

$Model = new Model() // 实例化一个 model 对象  没有对应任何数据表
$Model->execute( "update think_user set name='thinkPHP' where status=1" );

2.query()主要用于查询:

$user=M();
$list=$user->query('select * from aoli_user order by id desc');
dump($list);        

八、动态查询

示例如下:

$user=M('user');
$list=$user->getByusername('pengyanjie');
$list=$user->getByusername('pengyanjie');
dump($list);
$user=new AdvModel('user');
$list=$user->top5();//前5条
dump($list);

感兴趣的朋友可以在ThinkPHP项目中调试运行本文示例,相信会有新的收获。

PHP 相关文章推荐
php $_ENV为空的原因分析
Jun 01 PHP
PHP初学者常见问题集合 修正版(21问答)
Mar 23 PHP
php实现12306余票查询、价格查询示例
Apr 17 PHP
浅析php中json_encode()和json_decode()
May 25 PHP
php中mt_rand()随机数函数用法
Nov 24 PHP
php多次include后导致全局变量global失效的解决方法
Feb 28 PHP
PHP isset()与empty()的使用区别详解
Feb 10 PHP
利用PHP实现一个简单的用户登记表示例
Apr 25 PHP
PHP中Notice错误常见解决方法
Apr 28 PHP
php使用crypt()函数进行加密
Jun 08 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
Nov 21 PHP
PHP sdk文档处理常用代码示例解析
Dec 09 PHP
ThinkPHP多语言支持与多模板支持概述
Aug 22 #PHP
ThinkPHP中的三大自动简介
Aug 22 #PHP
PHP实现克鲁斯卡尔算法实例解析
Aug 22 #PHP
php中限制ip段访问、禁止ip提交表单的代码分享
Aug 22 #PHP
destoon出现验证码不显示时的紧急处理方法
Aug 22 #PHP
PHP中new static()与new self()的区别异同分析
Aug 22 #PHP
PHP中的替代语法简介
Aug 22 #PHP
You might like
解析用PHP实现var_export的详细介绍
2013/06/20 PHP
php去除字符串换行符示例分享
2014/02/13 PHP
PHP不用递归实现无限分级的例子分享
2014/04/18 PHP
php实现的常见排序算法汇总
2014/09/08 PHP
如何通过View::first使用Laravel Blade的动态模板详解
2017/09/21 PHP
JavaScript入门教程(7) History历史对象
2009/01/31 Javascript
Js获取事件对象代码
2010/08/05 Javascript
javascript原型链继承用法实例分析
2015/01/28 Javascript
javascript中alert()与console.log()的区别
2015/08/26 Javascript
jQuery实现简单弹窗遮罩效果
2017/02/27 Javascript
JavaScript中严格判断NaN的方法
2018/02/16 Javascript
在vue项目中使用md5加密的方法
2018/09/14 Javascript
老生常谈python之鸭子类和多态
2017/06/13 Python
梯度下降法介绍及利用Python实现的方法示例
2017/07/12 Python
Python中使用支持向量机(SVM)算法
2017/12/26 Python
Python函数和模块的使用总结
2019/05/20 Python
pandas 缺失值与空值处理的实现方法
2019/10/12 Python
python离线安装外部依赖包的实现
2020/02/13 Python
Python+appium框架原生代码实现App自动化测试详解
2020/03/06 Python
使用Python实现批量ping操作方法
2020/05/06 Python
Larsson & Jennings官网:现代瑞士钟表匠
2018/03/20 全球购物
YOOX台湾:意大利奢侈品电商
2018/10/13 全球购物
Feelunique澳大利亚:欧洲的化妆品零售电商
2019/12/18 全球购物
医学生个人求职信范文
2013/09/24 职场文书
在职人员函授期间自我评价分享
2013/11/08 职场文书
小区门卫岗位职责
2013/12/31 职场文书
大学生职业生涯规划书参考模板
2014/03/05 职场文书
毕业自我鉴定总结
2014/03/24 职场文书
羽毛球社团活动总结
2014/06/27 职场文书
安全责任书范文
2014/08/25 职场文书
群众路线教育实践活动对照检查材料
2014/09/22 职场文书
2015年全国爱眼日活动小结
2015/02/27 职场文书
财务会计求职信范文
2015/03/20 职场文书
2015年公共机构节能宣传周活动总结
2015/03/26 职场文书
预备党员考察意见范文
2015/06/01 职场文书
MySQL远程无法连接的一些常见原因总结
2022/09/23 MySQL