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中读写文件实现代码
Oct 20 PHP
PHP的SQL注入过程分析
Jan 06 PHP
php代码收集表单内容并写入文件的代码
Jan 29 PHP
str_replace只替换一次字符串的方法
Apr 09 PHP
使用dump函数,给php加断点测试
Jun 25 PHP
使用PHP生成图片的缩略图的方法
Aug 18 PHP
在Mac OS的PHP环境下安装配置MemCache的全过程解析
Feb 15 PHP
PHP错误机制知识汇总
Mar 24 PHP
Yii2配置Nginx伪静态的方法
May 05 PHP
PHP实现数组转JSon和JSon转数组的方法示例
Jun 14 PHP
PHP通过文件保存和更新信息的方法分析
Sep 12 PHP
详细分析PHP7与PHP5区别
Jun 26 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
phpcms模块开发之swfupload的使用介绍
2013/04/28 PHP
四种php中webservice实现的简单架构方法及实例
2015/02/03 PHP
php+ajax制作无刷新留言板
2015/10/27 PHP
PHP面向对象程序设计组合模式与装饰模式详解
2016/12/02 PHP
php过滤htmlspecialchars() 函数实现把预定义的字符转换为 HTML 实体用法分析
2019/06/25 PHP
纯js实现的论坛常用的运行代码的效果
2008/07/15 Javascript
javascript parseInt与Number函数的区别
2010/01/21 Javascript
javascript 二进制运算技巧解析
2012/11/27 Javascript
利用javaScript实现点击输入框弹出窗体选择信息
2013/12/11 Javascript
JS中的数组的sort方法使用示例
2014/01/22 Javascript
JS实现在页面随时自定义背景颜色的方法
2015/02/27 Javascript
值得分享的bootstrap table实例
2016/09/22 Javascript
微信小程序用户自定义模版用法实例分析
2017/11/28 Javascript
vue 属性拦截实现双向绑定的实例代码
2018/10/24 Javascript
NVM安装nodejs的方法实用步骤
2019/01/16 NodeJs
vue实现侧边栏导航效果
2019/10/21 Javascript
Python Web框架Pylons中使用MongoDB的例子
2013/12/03 Python
在python win系统下 打开TXT文件的实例
2018/04/29 Python
python对象转字典的两种实现方式示例
2019/11/07 Python
python输出数组中指定元素的所有索引示例
2019/12/06 Python
TensorFlow keras卷积神经网络 添加L2正则化方式
2020/05/22 Python
利用python控制Autocad:pyautocad方式
2020/06/01 Python
在Keras中实现保存和加载权重及模型结构
2020/06/15 Python
python 判断一组数据是否符合正态分布
2020/09/23 Python
安纳塔拉酒店度假村及水疗官方网站:Anantara Hotel
2016/08/25 全球购物
联想智利官方网站:Lenovo Chile
2020/06/03 全球购物
总经理助理岗位职责
2013/11/08 职场文书
企业员工薪酬方案
2014/06/04 职场文书
优秀家长自荐材料
2014/08/26 职场文书
财政专业大学生职业生涯规划书
2014/09/17 职场文书
甜品店创业计划书
2014/09/21 职场文书
2014年政教处工作总结
2014/12/20 职场文书
任命书标准格式
2015/03/02 职场文书
python 实现图片特效处理
2022/04/03 Python
铁拳制作人赞《铁拳7》老头环Mod:制作精良 但别弄了
2022/04/03 其他游戏
Win10/Win11 任务栏替换成经典样式
2022/04/19 数码科技