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 Token(令牌)设计
Mar 15 PHP
常用的php对象类型判断
Aug 27 PHP
PHP在特殊字符前加斜杠的实现代码
Jul 17 PHP
PHP获取文件后缀名的三个函数
Oct 15 PHP
纯PHP生成的一个树叶图片画图例子
Apr 16 PHP
PHP 如何获取二维数组中某个key的集合
Jun 03 PHP
Yii框架防止sql注入,xss攻击与csrf攻击的方法
Oct 18 PHP
php cookie用户登录的详解及实例代码
Jan 03 PHP
PHP获取路径和目录的方法总结【必看篇】
Mar 04 PHP
php读取XML的常见方法实例总结
Apr 25 PHP
php连接MSsql server的五种方法总结
Mar 04 PHP
阿里对象存储OSS在laravel框架中的使用方法
Oct 13 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入门速成(2)
2006/10/09 PHP
PHP+DBM的同学录程序(3)
2006/10/09 PHP
memcached 和 mysql 主从环境下php开发代码详解
2010/05/16 PHP
控制PHP的输出:缓存并压缩动态页面
2013/06/11 PHP
PHP源码分析之变量的存储过程分解
2014/07/03 PHP
PHP数字前补0的自带函数sprintf 和number_format的用法(详解)
2017/02/06 PHP
JavaScript在多浏览器下for循环的使用方法
2012/11/07 Javascript
JavaScript的事件代理和委托实例分析
2015/03/25 Javascript
向JavaScript的数组中添加元素的方法小结
2015/10/24 Javascript
JavaScript数组去重的两种方法推荐
2016/04/05 Javascript
js如何准确获取当前页面url网址信息
2020/09/13 Javascript
JavaScript预解析及相关技巧分析
2016/04/21 Javascript
深入理解Angular2 模板语法
2016/08/07 Javascript
node.js express安装及示例网站搭建方法(分享)
2016/08/22 Javascript
详解AngularJs中$resource和restfu服务端数据交互
2016/09/21 Javascript
Bootstrap基本组件学习笔记之导航(10)
2016/12/07 Javascript
微信小程序如何获取用户手机号
2018/01/26 Javascript
vue 路由meta 设置导航隐藏与显示功能的示例代码
2020/09/04 Javascript
详解Vue.js3.0 组件是如何渲染为DOM的
2020/11/10 Javascript
Python 网页解析HTMLParse的实例详解
2017/08/10 Python
python实现支付宝当面付(扫码支付)功能
2018/05/30 Python
对python中两种列表元素去重函数性能的比较方法
2018/06/29 Python
python2使用bs4爬取腾讯社招过程解析
2019/08/14 Python
python GUI库图形界面开发之PyQt5表格控件QTableView详细使用方法与实例
2020/03/01 Python
pycharm解决关闭flask后依旧可以访问服务的问题
2020/04/03 Python
python中的时区问题
2021/01/14 Python
canvas实现图片镜像翻转的2种方式
2020/07/22 HTML / CSS
新闻专业个人求职信
2013/12/19 职场文书
十岁生日同学答谢词
2014/01/19 职场文书
幼儿园大班毕业教师寄语
2014/04/03 职场文书
环保公益策划方案
2014/08/15 职场文书
婚礼答谢词
2015/01/04 职场文书
义诊活动通知
2015/04/24 职场文书
2015年医生个人工作总结
2015/04/25 职场文书
个人职业生涯规划之自我评估篇
2019/09/03 职场文书
如何正确理解python装饰器
2021/06/15 Python