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 09 PHP
一个php作的文本留言本的例子(五)
Oct 09 PHP
我的群发邮件程序
Oct 09 PHP
PHP 图片上传实现代码 带详细注释
Apr 29 PHP
使用PHP实现蜘蛛访问日志统计
Jul 05 PHP
PHP实现绘制3D扇形统计图及图片缩放实例
Oct 01 PHP
php实现多城市切换特效
Aug 09 PHP
thinkphp5.0自定义验证规则使用方法
Nov 16 PHP
PHP模糊查询技术实例分析【附源码下载】
Mar 07 PHP
PHP实现的杨辉三角求解算法分析
Mar 11 PHP
通过实例解析PHP数据类型转换方法
Jul 11 PHP
PHP 对接美团大众点评团购券(门票)的开发步骤
Apr 03 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部分常见问题总结
2008/03/27 PHP
PHP多线程抓取网页实现代码
2010/07/22 PHP
php输出echo、print、print_r、printf、sprintf、var_dump的区别比较
2013/06/21 PHP
php对数组排序的简单实例
2013/12/25 PHP
MongoDB在PHP中的常用操作小结
2014/02/20 PHP
php读取mssql的ntext字段返回值为空的解决方法
2014/12/30 PHP
php+ajax实现文件切割上传功能示例
2020/03/03 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
2020/02/18 PHP
键盘KeyCode值列表汇总
2013/11/26 Javascript
解析Javascript中中括号“[]”的多义性
2013/12/03 Javascript
浅谈JavaScript字符集
2014/05/22 Javascript
JavaScript 浏览器对象模型BOM使用介绍
2015/04/13 Javascript
JS+CSS实现TreeMenu二级树形菜单完整实例
2015/09/18 Javascript
Javascript原型链的原理详解
2016/01/05 Javascript
10个JavaScript中易犯小错误
2016/02/14 Javascript
Bootstrap整体框架之CSS12栅格系统
2016/12/15 Javascript
利用vue实现模态框组件
2016/12/19 Javascript
JS表格组件神器bootstrap table使用指南详解
2017/04/12 Javascript
简单谈谈关于Angular Cli打包的事
2017/09/05 Javascript
Vue项目中设置背景图片方法
2018/02/21 Javascript
vue实现弹框遮罩点击其他区域弹框关闭及v-if与v-show的区别介绍
2018/09/29 Javascript
微信小程序中为什么使用var that=this
2019/08/27 Javascript
RxJS在TypeScript中的简单使用详解
2020/04/13 Javascript
pycharm双击无响应(打不开问题解决办法)
2020/01/10 Python
美国网上购买眼镜:Eyeconic
2017/07/29 全球购物
荷兰超市:DEEN
2018/03/14 全球购物
智能旅行箱:Horizn Studios
2018/04/30 全球购物
英国玛莎百货美国官网:Marks & Spencer美国
2018/11/06 全球购物
Conforama西班牙:您的家具、装饰和电器商店
2020/02/21 全球购物
Java语言程序设计测试题改错题部分
2014/07/22 面试题
银行职业规划书范文
2013/12/28 职场文书
学生会竞聘书范文
2014/03/31 职场文书
幼儿发展评估方案
2014/06/11 职场文书
物业接待员岗位职责
2015/04/15 职场文书
二胎满月酒致辞
2015/07/29 职场文书
利用Python判断你的密码难度等级
2021/06/02 Python