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下实现折线图效果的代码
Apr 28 PHP
从手册去理解分析PHP session机制
Jul 17 PHP
PHP隐形一句话后门,和ThinkPHP框架加密码程序(base64_decode)
Nov 02 PHP
整理的一些实用WordPress后台MySQL操作命令
Jan 07 PHP
解析php中session的实现原理以及大网站应用应注意的问题
Jun 17 PHP
解析php取整的几种方式
Jun 25 PHP
php使用curl抓取qq空间的访客信息示例
Feb 28 PHP
ThinkPHP表单自动验证实例
Oct 13 PHP
PHP发送短信代码分享
Aug 11 PHP
详解WordPress中过滤链接与过滤SQL语句的方法
Dec 18 PHP
PHP中的日期时间处理利器实例(Carbon)
Jun 09 PHP
Laravel框架实现model层的增删改查(CURD)操作示例
May 12 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
全国FM电台频率大全 - 7 吉林省
2020/03/11 无线电
在WordPress的文章编辑器中设置默认内容的方法
2015/12/29 PHP
PHP实现统计在线人数功能示例
2016/10/15 PHP
PHP使用GD库输出汉字的方法【测试可用】
2016/11/10 PHP
JS获取select-option-text_value的方法
2013/12/26 Javascript
两个select多选模式的选项相互移动(示例代码)
2014/01/11 Javascript
捕获和分析JavaScript Error的方法
2014/03/25 Javascript
百度判断手机终端并自动跳转js代码及使用实例
2014/06/11 Javascript
jQuery源码分析之jQuery中的循环技巧详解
2014/09/06 Javascript
jQuery Chart图表制作组件Highcharts用法详解
2016/06/01 Javascript
BootStrap网页中代码显示用法详解
2016/10/21 Javascript
前端自动化开发之Node.js的环境搭建教程
2017/04/01 Javascript
AngularJS实现的JSONP跨域访问数据传输功能详解
2017/07/20 Javascript
p5.js实现故宫橘猫赏秋图动画
2019/10/23 Javascript
[02:02]DOTA2英雄基础教程 斯拉达
2013/12/11 DOTA
在Python中测试访问同一数据的竞争条件的方法
2015/04/23 Python
Python md5与sha1加密算法用法分析
2017/07/14 Python
对Python中内置异常层次结构详解
2018/10/18 Python
对pandas处理json数据的方法详解
2019/02/08 Python
python变量的存储原理详解
2019/07/10 Python
Python字典添加,删除,查询等相关操作方法详解
2020/02/07 Python
Python第三方包之DingDingBot钉钉机器人
2020/04/09 Python
Python虚拟环境virtualenv创建及使用过程图解
2020/12/08 Python
HTML5-WebSocket实现聊天室示例
2016/12/15 HTML / CSS
俄罗斯在线水暖商店:Perfecto.ru
2019/10/25 全球购物
你所知道的集合类都有哪些?主要方法?
2012/12/31 面试题
如何实现一个自定义类的序列化
2012/05/22 面试题
毕业生护理专业个人求职信范文
2014/01/04 职场文书
护理职业生涯规划书
2014/01/24 职场文书
颂军魂爱军营演讲稿
2014/09/13 职场文书
银行授权委托书样本
2014/10/13 职场文书
慰问信格式
2015/02/14 职场文书
创先争优活动个人总结
2015/03/04 职场文书
2015年南京大屠杀纪念日活动总结
2015/03/24 职场文书
Mysql关于数据库是否应该使用外键约束详解说明
2021/10/24 MySQL
python如何利用cv2.rectangle()绘制矩形框
2022/12/24 Python