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和ACCESS写聊天室(二)
Oct 09 PHP
PHP的分页功能
Mar 21 PHP
Php注入点构造代码
Jun 14 PHP
php数组函数序列之array_intersect() 返回两个或多个数组的交集数组
Nov 10 PHP
PHP实现Soap通讯的方法
Nov 03 PHP
PHP使用json_encode函数时不转义中文的解决方法
Nov 12 PHP
7个鲜为人知却非常实用的PHP函数
Jul 01 PHP
PHP实现接收二进制流转换成图片的方法
Jan 10 PHP
使用php完成常见的文件上传功能(推荐)
Jan 13 PHP
PHP chop()函数讲解
Feb 11 PHP
PHP面向对象程序设计模拟一般面向对象语言中的方法重载(overload)示例
Jun 13 PHP
Yii框架应用组件用法实例分析
May 15 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(1) php开发环境配置
2010/02/15 PHP
session在PHP大型web应用中的使用
2011/06/25 PHP
php函数重载的替代方法--伪重载详解
2015/05/08 PHP
php实现每天自动变换随机问候语的方法
2015/05/12 PHP
简单PHP会话(session)说明介绍
2016/08/21 PHP
javascript 继承实现方法
2009/08/26 Javascript
EXT中xtype的含义分析
2010/01/07 Javascript
javascript利用初始化数据装配模版的实现代码
2010/11/17 Javascript
js 判断一个元素是否在页面中存在
2012/12/27 Javascript
JS图片无缝滚动(简单利于使用)
2013/06/17 Javascript
使用js检测浏览器是否支持html5中的video标签的方法
2014/03/12 Javascript
ExtJS4 表格的嵌套 rowExpander应用
2014/05/02 Javascript
js鼠标滑过图片震动特效的方法
2015/02/17 Javascript
JS绘制生成花瓣效果的方法
2015/08/05 Javascript
使用JQuery实现的分页插件分享
2015/11/05 Javascript
基于javascript实现listbox左右移动
2016/01/29 Javascript
微信小程序 Storage API实例详解
2016/10/02 Javascript
详解react如何在组件中获取路由参数
2017/06/15 Javascript
input file样式修改以及图片预览删除功能详细概括(推荐)
2017/08/17 Javascript
浅谈Vue父子组件和非父子组件传值问题
2017/08/22 Javascript
JavaScript实现删除数组重复元素的5种常用高效算法总结
2018/01/18 Javascript
Vue在页面数据渲染完成之后的调用方法
2018/09/11 Javascript
Next.js实现react服务器端渲染的方法示例
2019/01/06 Javascript
JS中创建自定义类型的常用模式总结【工厂模式,构造函数模式,原型模式,动态原型模式等】
2019/01/19 Javascript
vue实现的微信机器人聊天功能案例【附源码下载】
2019/02/18 Javascript
[02:41]DOTA2亚洲邀请赛小组赛第三日 赛事回顾
2015/02/01 DOTA
python:socket传输大文件示例
2017/01/18 Python
Python两个字典键同值相加的几种方法
2019/03/05 Python
用python3读取python2的pickle数据方式
2019/12/25 Python
基于TensorFlow常量、序列以及随机值生成实例
2020/01/04 Python
python实现梯度法 python最速下降法
2020/03/24 Python
用sleep间隔进行python反爬虫的实例讲解
2020/11/30 Python
Puritan’s Pride(普丽普莱)官方网站:美国最大最全的保健品公司之一
2016/10/23 全球购物
人事主管岗位职责
2014/01/30 职场文书
助人为乐模范事迹材料
2014/06/02 职场文书
Python中Selenium对Cookie的操作方法
2021/07/09 Python