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脚本的10个技巧(1)
Oct 09 PHP
PHP array操作10个小技巧分享
Jun 23 PHP
PHP中英混合字符串截取函数代码
Jul 17 PHP
php中sprintf与printf函数用法区别解析
Feb 17 PHP
destoon网站转移服务器后搜索汉字出现乱码的解决方法
Jun 21 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(六)
Jun 23 PHP
PHP中几个可以提高运行效率的代码写法、技巧分享
Aug 21 PHP
跟我学Laravel之安装Laravel
Oct 15 PHP
Smarty中常用变量操作符汇总
Oct 27 PHP
PHP页面实现定时跳转的方法
Oct 31 PHP
PHP从FLV文件获取视频预览图的方法
Mar 12 PHP
PHP接口继承及接口多继承原理与实现方法详解
Oct 18 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 三维饼图的实现代码
2008/09/28 PHP
php全局变量和类配合使用深刻理解
2013/06/05 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(六)
2014/06/23 PHP
php通过获取头信息判断图片类型的方法
2015/06/26 PHP
php解析mht文件转换成html的实例
2017/03/13 PHP
php 二维数组快速排序算法的实现代码
2017/10/17 PHP
php中html_entity_decode实现HTML实体转义
2018/06/13 PHP
javascript 学习之旅 (2)
2009/02/05 Javascript
js null,undefined,字符串小结
2010/08/21 Javascript
js 3种归并操作的实例代码
2013/10/30 Javascript
JS图片切换的具体方法(带缩略图版)
2013/11/12 Javascript
js跨域问题浅析及解决方法优缺点对比
2014/11/08 Javascript
JavaScript学习笔记之JS对象
2015/01/22 Javascript
浅谈js原生拖放
2016/11/21 Javascript
js实现简单的计算器功能
2017/01/16 Javascript
JavaScript实现公历转农历功能示例
2017/02/13 Javascript
js input输入百分号保存数据库失败的解决方法
2018/05/26 Javascript
JavaScript实现HTML导航栏下拉菜单
2020/11/25 Javascript
Python解释执行原理分析
2014/08/22 Python
python通过pil模块将raw图片转换成png图片的方法
2015/03/16 Python
编写Python脚本来获取Google搜索结果的示例
2015/05/04 Python
回调函数的意义以及python实现实例
2017/06/20 Python
python实现播放音频和录音功能示例代码
2018/12/30 Python
处理Selenium3+python3定位鼠标悬停才显示的元素
2019/07/31 Python
Python字符串格式化输出代码实例
2019/11/22 Python
JupyterNotebook 输出窗口的显示效果调整方法
2020/04/13 Python
瑞典在互联网上最大的宠物商店:Animail
2020/10/31 全球购物
同步和异步有何异同,在什么情况下分别使用他们?
2012/12/28 面试题
文员个人求职自荐信
2013/09/21 职场文书
2014年创卫实施方案
2014/02/18 职场文书
大宝sod蜜广告词
2014/03/21 职场文书
生活小常识广播稿
2014/09/16 职场文书
授权委托书
2014/09/17 职场文书
2014年公路养护工作总结
2014/12/04 职场文书
鉴史问廉观后感
2015/06/10 职场文书
Laravel中获取IP的真实地理位置
2021/04/01 PHP