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 相关文章推荐
一个好用的分页函数
Nov 16 PHP
php字符串替换函数substr_replace()用法实例
Mar 17 PHP
PHP读取汉字的点阵数据
Jun 22 PHP
PHP安装threads多线程扩展基础教程
Nov 17 PHP
PHP自带方法验证邮箱是否存在
Feb 01 PHP
Yii2 输出xml格式数据的方法
May 03 PHP
PHP MySql增删改查的简单实例
Jun 21 PHP
php+ajax注册实时验证功能
Jul 20 PHP
PHP支付系统设计与典型案例分享
Aug 02 PHP
ThinkPHP中Widget扩展的两种写法及调用方法详解
May 04 PHP
微信公众平台开发教程②微信端分享功能图文详解
Apr 10 PHP
PHP进阶学习之命名空间基本用法分析
Jun 18 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实现MVC开发得最简单的方法――模型
2007/04/10 PHP
PHP中文分词 自动获取关键词介绍
2012/11/13 PHP
php实现生成带二维码图片并强制下载功能
2018/02/24 PHP
运用jquery实现table单双行不同显示并能单行选中
2009/07/25 Javascript
整理一些JavaScript的IE和火狐的兼容性注意事项
2011/03/17 Javascript
$.format,jquery.format 使用说明
2011/07/13 Javascript
浏览器窗口大小变化时使用resize事件对框架不起作用的解决方法
2014/05/11 Javascript
jQuery插件Flexslider实现图片轮播、图文结合滑动切换效果
2020/04/16 Javascript
详解AngularJS中$filter过滤器使用(自定义过滤器)
2017/02/04 Javascript
springMVC + easyui + $.ajaxFileUpload实现文件上传注意事项
2017/04/23 Javascript
jquery获取transform里的值实现方法
2017/12/12 jQuery
jQuery中可见性过滤器简单用法示例
2018/03/31 jQuery
async/await地狱该如何避免详解
2018/05/10 Javascript
vue-cli初始化项目中使用less的方法
2018/08/09 Javascript
Vue 组件注册实例详解
2019/02/23 Javascript
浅谈Node 异步IO和事件循环
2019/05/05 Javascript
vue.js实现点击图标放大离开时缩小的代码
2021/01/27 Vue.js
[02:32]【DOTA2亚洲邀请赛】iceice,梦开始的地方
2017/03/13 DOTA
Python和Ruby中each循环引用变量问题(一个隐秘BUG?)
2014/06/04 Python
Python访问MySQL封装的常用类实例
2014/11/11 Python
python列表的常用操作方法小结
2016/05/21 Python
python3 对list中每个元素进行处理的方法
2018/06/29 Python
python实现简单多人聊天室
2018/12/11 Python
pytorch torch.nn.AdaptiveAvgPool2d()自适应平均池化函数详解
2020/01/03 Python
Python&amp;&amp;GDAL实现NDVI的计算方式
2020/01/09 Python
Python3 搭建Qt5 环境的方法示例
2020/07/16 Python
会走动的图形html5时钟示例
2014/04/27 HTML / CSS
HTML5 Canvas的常用线条属性值总结
2016/03/17 HTML / CSS
领导证婚人证婚词
2014/01/13 职场文书
《美丽的彩虹》教学反思
2014/02/25 职场文书
社区母亲节活动记录
2014/03/06 职场文书
党员评议表自我评价范文
2014/10/20 职场文书
2015年高考寄语或鼓励的话
2015/03/23 职场文书
整理Python中常用的conda命令操作
2021/06/15 Python
解决mysql的int型主键自增问题
2021/07/15 MySQL
Django数据库(SQlite)基本入门使用教程
2022/07/07 Python