热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ThinkPHP中的查询语言

一、普通查询在查询带入where条件等,最少有三种形式1、字符串形式&#39;id>5andid<9&#39;2、数组形式$userM(&#39;user&#39;);$data[&#3...

一、普通查询

在查询带入where条件等,最少有三种形式

1、字符串形式

&#39;id>5 and id<9&#39;

2、数组形式

  1. $user=M(&#39;user&#39;); 
  2. $data[&#39;username&#39;]=&#39;liwenkai&#39;
  3. $list=$user->where(array(&#39;username&#39;=>&#39;liwenkai&#39;))->select(); 
  4. $list=$user->where($data)->select(); 

3、对象形式

  1. $user=M(&#39;user&#39;); 
  2. $a=new stdClass(); 
  3. $a->username=&#39;liwenkai&#39;
  4. $list=$user->where($a)->select(); 

4、查询表达式

EQ    等于

NEQ   不等于

GT    大于

EGT   大于等于

LT    小于

ELT   小于等于

LIKE    等价与sql中的like

[NOT] BETWEEN   查询区间

[NOT] IN   查询集合

EXP    指使用标准SQL语句,实现更加复杂的情况

  1. $data[&#39;字段名&#39;]=array(&#39;是表达式&#39;,&#39;查询条件&#39;); 
  2. $data[&#39;liwenkai&#39;]=&#39;liwenkai&#39;;实际上是指$data[&#39;liwenkai&#39;]=array(&#39;eq&#39;,&#39;liwenkai&#39;); 
  3.  
  4. $data[&#39;username&#39;]=array(&#39;like&#39;,&#39;peng%&#39;); 
  5. $list=$user->where($data)->select(); 

二、区间查询

  1. $user=M(&#39;user&#39;); 
  2. $data[&#39;id&#39;]=array(array(&#39;gt&#39;,20),array(&#39;lt&#39;,23),&#39;and&#39;); 
  3. $list=$user->where($data)->select(); 
  4. dump($list); 
  5. $data[&#39;username&#39;]=array(array(&#39;like&#39;,&#39;p%&#39;),array(&#39;like&#39;,&#39;h%&#39;),&#39;or&#39;); 

三、组合查询

  1. $user=M(&#39;user&#39;); 
  2. $data[&#39;username&#39;]=&#39;pengyanjie&#39;
  3. $data[&#39;password&#39;]=array(&#39;eq&#39;,&#39;pengyanjie&#39;); 
  4. $data[&#39;id&#39;]=array(&#39;lt&#39;,30); 
  5. $data[&#39;_logic&#39;]=&#39;or&#39;
  6. $list=$user->where($data)->select(); 
  7. dump($list); 

四、复合查询

  1. $user=M(&#39;user&#39;); 
  2. $data[&#39;username&#39;]=array(&#39;eq&#39;,&#39;pengyanjie&#39;); 
  3. $data[&#39;password&#39;]=array(&#39;like&#39;,&#39;p%&#39;); 
  4. $data[&#39;_logic&#39;]=&#39;or&#39;
  5. $where[&#39;_complex&#39;]=$where
  6. $where[&#39;id&#39;]=array(&#39;lt&#39;,30); 
  7. $list=$user->where($data)->select(); 
  8. dump($list); 
  9. //相当于(id<30)and ( (username=pengyanjie) or (password like p%) ) 

五、统计查询

  1. echo $user->count(); 
  2. echo &#39;
    &#39;
  3. echo $user->max(&#39;id&#39;); 
  4. echo &#39;
    &#39;
  5. echo $user->where(&#39;id<30&#39;)->min(&#39;id&#39;); 
  6. echo &#39;
    &#39;
  7. echo $user->avg(&#39;id&#39;); 
  8. echo &#39;
    &#39;
  9. echo $user->sum(&#39;id&#39;); 

六、定位查询

  1. $user=new AdvModel(&#39;user&#39;);//实例化高级模型AdvModel 
  2.          //$user=M(&#39;user&#39;,&#39;CommonModel&#39;);//或者将AdvModel用CommonModel来继承 
  3.          $list=$user->order(&#39;id desc&#39;)->getN(2);//返回结果中的第三条 
  4.          dump($list); 
  5.  
  6.          $list=$user->order(&#39;id desc&#39;)->last();//返回最后一条 
  7.          $list=$user->order(&#39;id desc&#39;)->first();//返回第一条 

七、SQL查询

excute()主要用于更新和写入

  1. $Model = new Model()  //  实例化一个 model 对象   没有对应任何数据表 
  2.  
  3. $Model->execute( "update think_user set name=&#39;thinkPHP&#39; where status=1" ); 

query()主要用于查询

  1. $user=M(); 
  2. $list=$user->query(&#39;select * from aoli_user order by id desc&#39;); 
  3. dump($list);  

八、动态查询

  1. $user=M(&#39;user&#39;); 
  2. $list=$user->getByusername(&#39;pengyanjie&#39;); 
  3. $list=$user->getByusername(&#39;pengyanjie&#39;); 
  4. dump($list); 
  5. $user=new AdvModel(&#39;user&#39;); 
  6. $list=$user->top5();//前5条 
  7. dump($list); 

推荐阅读
  • 本文介绍了数据库体系的基础知识,涵盖关系型数据库(如MySQL)和非关系型数据库(如MongoDB)的基本操作及高级功能。通过三个阶段的学习路径——基础、优化和部署,帮助读者全面掌握数据库的使用和管理。 ... [详细]
  • 本文介绍了如何利用 Spring Boot 和 Groovy 构建一个灵活且可扩展的动态计算引擎,以满足钱包应用中类似余额宝功能的推广需求。我们将探讨不同的设计方案,并最终选择最适合的技术栈来实现这一目标。 ... [详细]
  • ThinkPad USB 硬盘启动 Ubuntu 系统的详细步骤
    本文介绍如何通过USB硬盘在联想ThinkPad上启动Ubuntu系统,包括BIOS设置和启动优先级调整。 ... [详细]
  • 本文探讨了在 PHP 中如何通过多种方式将外部参数传递到回调函数中,包括使用匿名函数和闭包。 ... [详细]
  • 本文详细探讨了JavaScript中的作用域链和闭包机制,解释了它们的工作原理及其在实际编程中的应用。通过具体的代码示例,帮助读者更好地理解和掌握这些概念。 ... [详细]
  • Windows 7 64位系统下Redis的安装与PHP Redis扩展配置
    本文详细介绍了在Windows 7 64位操作系统中安装Redis以及配置PHP Redis扩展的方法,包括下载、安装和基本使用步骤。适合对Redis和PHP集成感兴趣的开发人员参考。 ... [详细]
  • 雨林木风 GHOST XP SP3 经典珍藏版 V2017.11
    雨林木风 GHOST XP SP3 经典珍藏版 V2017.11 ... [详细]
  • Hadoop发行版本选择指南:技术解析与应用实践
    本文详细介绍了Hadoop的不同发行版本及其特点,帮助读者根据实际需求选择最合适的Hadoop版本。内容涵盖Apache Hadoop、Cloudera CDH等主流版本的特性及应用场景。 ... [详细]
  • 采用IKE方式建立IPsec安全隧道
    一、【组网和实验环境】按如上的接口ip先作配置,再作ipsec的相关配置,配置文本见文章最后本文实验采用的交换机是H3C模拟器,下载地址如 ... [详细]
  • 本文详细介绍了在腾讯云服务器上配置 phpMyAdmin 的方法,包括安装、配置和解决常见问题。通过这些步骤,您可以轻松地在腾讯云环境中部署并使用 phpMyAdmin。 ... [详细]
  • Python 内存管理机制详解
    本文深入探讨了Python的内存管理机制,涵盖了垃圾回收、引用计数和内存池机制。通过具体示例和专业解释,帮助读者理解Python如何高效地管理和释放内存资源。 ... [详细]
  • 本文介绍了如何在多线程环境中实现异步任务的事务控制,确保任务执行的一致性和可靠性。通过使用计数器和异常标记字段,系统能够准确判断所有异步线程的执行结果,并根据结果决定是否回滚或提交事务。 ... [详细]
  • C#设计模式学习笔记:观察者模式解析
    本文将探讨观察者模式的基本概念、应用场景及其在C#中的实现方法。通过借鉴《Head First Design Patterns》和维基百科等资源,详细介绍该模式的工作原理,并提供具体代码示例。 ... [详细]
  • 本文详细介绍了如何在不同操作系统和设备上设置和配置网络连接的IP地址,涵盖静态和动态IP地址的设置方法。同时,提供了关于路由器和机顶盒等设备的IP配置指南。 ... [详细]
  • 在年前忙碌的家务和年后走亲访友之后,终于有时间重新投入到编程的世界中。年前遇到了连通器问题的困扰,希望今晚能够顺利解决。新的一年,新的开始,期待在技术领域取得更大的进步。 ... [详细]
author-avatar
徐小丹-_-
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有