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代码
Dec 06 PHP
PHP下几种删除目录的方法总结
Aug 19 PHP
全新的PDO数据库操作类php版(仅适用Mysql)
Jul 22 PHP
PHP获取时间排除周六、周日的两个方法
Jun 30 PHP
ci检测是ajax还是页面post提交数据的方法
Nov 10 PHP
PHP中创建和验证哈希的简单方法实探
Jul 06 PHP
PHP文件上传问题汇总(文件大小检测、大文件上传处理)
Dec 24 PHP
PHP的数组中提高元素查找与元素去重的效率的技巧解析
Mar 03 PHP
php实现xml转换数组的方法示例
Feb 03 PHP
php获取excel文件数据
Apr 21 PHP
PHP自动识别当前使用移动终端
May 21 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
Nov 19 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魔术方法与魔术变量、内置方法与内置变量的深入分析
2013/06/03 PHP
Fatal error: session_start(): Failed to initialize storage module: files问题解决方法
2014/05/04 PHP
destoon出现验证码不显示时的紧急处理方法
2014/08/22 PHP
php实现文本数据导入SQL SERVER
2015/05/17 PHP
php实现当前页面点击下载文件的简单方法
2016/09/22 PHP
php rsa 加密,解密,签名,验签详解
2016/12/06 PHP
php的PDO事务处理机制实例分析
2017/02/16 PHP
JavaScript中的函数重载深入理解
2014/08/04 Javascript
js 动态修改css文件用到了cssRule
2014/08/20 Javascript
jQuery图片轮播(二)利用构造函数和原型创建对象以实现继承
2016/12/06 Javascript
jQuery扩展_动力节点Java学院整理
2017/07/05 jQuery
Javascript实现跨域后台设置拦截的方法详解
2017/08/04 Javascript
element-ui 表格实现单元格可编辑的示例
2018/02/26 Javascript
详解Vue打包优化之code spliting
2018/04/09 Javascript
讲解vue-router之什么是动态路由
2018/05/28 Javascript
解决vue-router在同一个路由下切换,取不到变化的路由参数问题
2018/09/01 Javascript
解决Vue 项目打包后favicon无法正常显示的问题
2018/09/01 Javascript
JavaScript实现京东快递单号查询
2020/11/30 Javascript
[38:54]完美世界DOTA2联赛PWL S2 Rebirth vs LBZS 第一场 11.28
2020/12/01 DOTA
Linux下编译安装MySQL-Python教程
2015/02/02 Python
python爬虫的工作原理
2017/03/05 Python
Python数据结构与算法之常见的分配排序法示例【桶排序与基数排序】
2017/12/15 Python
PyTorch 1.0 正式版已经发布了
2018/12/13 Python
Apache部署Django项目图文详解
2019/07/30 Python
python百行代码自制电脑端网速悬浮窗的实现
2020/05/12 Python
python导入库的具体方法
2020/06/18 Python
如何用Matlab和Python读取Netcdf文件
2021/02/19 Python
MCM英国官网:奢侈皮具制品
2017/04/18 全球购物
少先队学雷锋活动总结范文
2014/03/09 职场文书
绿色小区申报材料
2014/08/22 职场文书
安全承诺书
2015/01/19 职场文书
现场施工员岗位职责
2015/04/11 职场文书
2015年学校保卫部工作总结
2015/05/11 职场文书
jupyter notebook保存文件默认路径更改方法汇总(亲测可以)
2021/06/09 Python
Vue实现导入Excel功能步骤详解
2021/07/03 Vue.js
Dubbo+zookeeper搭配分布式服务的过程详解
2022/04/03 Java/Android