thinkPHP的查询表达式大揭秘

主要使用where(条件表达式)方法

语法一:where('字段','条件','值');

等于:EQ 解析为"="

不等于:NEQ 解析为"<>"

小于:LT 解析为"<"

小于等于: ELT 解析为"<="

大于:GT 解析为">"

大于等于:EGT 解析为">="

区间:BETWEEN 解析为 “BETWEEN * AND *”

不在区间:NOTBETWEEN 解析为 “NOTBETWEEN * AND *”

集合:IN 解析为 IN(*,*);

不在集合 : NOT IN 解析为 NOT IN(*,*)

字段值为NULL 和 NOT NULL

//条件省略,默认为相等

$res=Db::table('data')->where('id',11) //等价于:where('id','=',11)

           ->fetchSql(true) //输出SQL语句,

           ->select();

//完整的单值条件表达式

$res=Db::table('data')->where('id','EGT',11)  //等价于: where('id','>=',11)

          ->fetchSql(true)

          ->select();

//区间条件表达式

$res=Db::table('data')->where('age','BETWEEN',[18,35]) //between 18 and 35

          ->where('age','NOT BETWEEN',[18,35]) //not between 18 and 35

          ->fetchSql(true)

          ->select();

//集合条件表达式

$res=Db::table('data')->where('id','IN',[2,3,4])  //in(2,3,4)

          ->where('id','NOT IN',[2,3,5]) //not in(2,3,5)

          ->fetchSql(true)

          ->select();

//null值判断,注意中间有“=”号的区别

$res=Db::table('Data')->where('node_name','NULL')  //找出该字段默认设置为NULL的数据

          ->where('node_name','=','NULL')  //找出改字段等于NULL字符串的数据

          ->fetchSql(true) //打印SQL

          ->select();

//like 或者 not like

$res=Db::table('Data')->where('name','LIKE','%php')  //模糊匹配以php结尾的字段

            ->where('name','NOT LIKE','%php')

          ->where('node_name','=','NULL') //node_name的值为NULL

          ->fetchSql(true)

          ->select();

每个数组元素都是一个查询条件,使用where()方法时,每个条件之间为AND关系,使用whereOr()方法为or

//AND

$res=Db::table('Data')->where([
'id'=>['>',11],
'typeid'=>['BETWEEN',[13,20]]
])
->fetchSql(true)
->select();
//SQL :select * from `Data` where `id` >11 AND `typeid`  BETWEEN 18 AND 20;
//OR
$res=Db::table('Data')->whereOr([
'id'=>['EGT',11],
'age'=>['BETWEEN',[17,20]]
])
->fetchSql(true)
->select();
//SQL:select * from `Data` where `id` >=11 OR `age` BETWEEN 17 AND 20
//简单条件
$res=Db::table('Data')->where('id','EXP','>=10')
->select();
SQL : select * from `Data` where (`id`>=10)
//复合条件
$res=Db::table('Data')->where('age','EXP','BETWEEN 20 AND 30')
->where();
SQL: select * from `Data` where (`age` BETWEEN 20 AND 30);
$res=Db::table('Data')->where('id','EXP','>=10')
->where('age','>',30)
->whereOr('dept','市场部')
->select();
select * from `Data` where(`id`>=10) AND `age`>30 OR `dept`='市场部';

转载于:https://www.cnblogs.com/ymdphp/p/10951469.html

thinkPHP5.0数据查询表达式生成技巧相关推荐

  1. php表达式生成工具,thinkPHP5.0数据查询表达式生成技巧

    thinkPHP的查询表达式大揭秘 主要使用where(条件表达式)方法 语法一:where('字段','条件','值'): 等于:EQ 解析为"=" 不等于:NEQ 解析为&qu ...

  2. 【MySQL】5.0 数据查询

    数据查询 基本查询 条件查询 连接查询 内连接查询(INNER JOIN) 外连接查询(OUTER JOIN) 复合连接查询 高级应用 Limit Union GROPE BY ORDER BY DI ...

  3. mql 查询多结果_一篇文章带你全面掌握Excel中的各种数据查询知识与技巧

    数据查询是Excel数据处理中的一项核心业务,也是日常办公中使用频率非常高的一项操作.数据查询业务需求多,而且具有较强的技巧性,因此它也是职场必学的一门技能. 本篇文章从最基本的数据查询的概念讲起,逐 ...

  4. thinkphp5.0的查询方法 where in 性能问题以及优化措施

    最近在后台导出数据到Excel,考虑到可能数据量大使用了c扩展xlswriter来做Excel处理,首先在本地测试,1w条数据花费了40s,不太理想. thinkphp 版本为 5.0.4 于是想知道 ...

  5. 13新功能_新功能简介|MySQL8.0数据查询脱敏

    数据库管理员会负责维护数据的隐私和完整性.针对数据的脱敏,通常的方案是:应用端实现或者引入加密机等. 不过现在MySQL8.0实现了数据脱敏这个功能,可以减少应用的复杂性.减少开发的工作量,也能友好的 ...

  6. ThinkPHP5.0 根据固定模板生成个人名片

    /*** [根据固定模板生成名片]* @param array $data [需要印刷在图片上的参数]*/ function create_card(array $data=[]){$upload = ...

  7. 数据查询(1)-简单查询(芮)

    理解查询的机制 查询产生一个虚拟表,看到的是表形式显示的结果,但结果并不真正存储,每次执行查询只是先从数据表中提取数据,并按照表的形式显示出来查询 SELECT <列名> FROM < ...

  8. 数据查询(1)-简单查询

    理解查询的机制 查询产生一个虚拟表,看到的是表形式显示的结果,但结果并不真正存储,每次执行查询只是先从数据表中提取数据,并按照表的形式显示出来 查询 SELECT    <列名> FROM ...

  9. 微软免费图书《Introducing Microsoft LINQ》翻译Chapter2.1:C# 3.0 特性(对象初始化表达式\匿名类型\查询表达式)...

    本书翻译目的为个人学习和知识共享,其版权属原作者所有,如有侵权,请告知本人,本人将立即对发帖采取处理. 允许转载,但转载时请注明本版权声明信息,禁止用于商业用途! 博客园:韩现龙 Introducin ...

最新文章

  1. 解决IOS滑动页面fixed浮动问题
  2. Asp.net控件开发学习笔记(九)----服务器控件事件
  3. 三种工厂模式的分析以及C++实现
  4. mysql使用索引扫描做排序_「Mysql索引原理(八)」使用索引扫描做排序
  5. 使用Spectre.Console创建漂亮的控制台应用程序
  6. linux gdb基本概念
  7. webgis之相关工具
  8. 利用清华镜像、阿里云镜像与豆瓣镜像pip资源
  9. 三个变量存在一个协整方程_计量经济学第12讲(时间序列计量经济学模型:协整与误差修正模型)...
  10. gis 联合 融合_GIS空间数据融合方法
  11. vue中使用iview修改Cascader的默认数据
  12. sql打印每年入职人数_2015年3D打印基础知识-拥有16年全职经验的人
  13. 普乐蛙4d5d动感影院|VR太空旅行设备|VR带你遨游太空
  14. 服务器硬盘数据备份到nas,谁说固态硬盘做存储是鸡肋?NAS存储服务器还能这样玩...
  15. 老树开新花:DLL劫持漏洞新玩法
  16. 学习笔记5(类和对象)
  17. 序贯蒙特卡洛的粒子简并性问题
  18. 1-2 二十四点 (20 分)【Csp认证真题】
  19. 【计算机基础】进制转换
  20. 2022年国家社会/自然科学基金立项名单

热门文章

  1. JVM 内存模型与内存分配方式
  2. linux网站如何添加swf支持,linux下安装swftools和openOffice
  3. php四则运算出题器_php实现简单四则运算器
  4. 算法设计中的基础常用代码
  5. Linux进阶之路————组管理与权限管理
  6. Java8————Optional
  7. (二叉树的动态创建与bfs)树的层次遍历
  8. win10启动修复_以安全模式启动win10的4种方法,简单高效,修复电脑故障必用技巧...
  9. 如何形容自己的计算机水平,信息在计算机中的表示
  10. java有没有number数据类型_Java基本数据类型之Number