本文实例讲述了thinkphp3.2框架中where条件查询用法。分享给大家供大家参考,具体如下:

thinkphp3.2 where 条件查询

在连贯操作中条件where的操作有时候自己很晕,所以整理下,有助于使用

查询条件

支持的表达式查询,tp不区分大小写

含义

TP运算符

SQL运算符

例子

实际查询条件

等于

EQ

=

$where['id'] = array('EQ','1')

id = 2

不等于

NEQ

!=

$where['id'] = array('NEQ','1')

id!=2

大于

GT

>

$where['id'] = array('GT','1')

id >1

大于等于

EGT

EGT

$where['id'] = array('EGT','1')

id>=1

小于

<

<

$where['id'] = array('lt',1)

id < 1

小于等于

<=

<=

$where['id'] = array('elt',1)

id<=1

匹配

like

like

where[′id′]=array(′like′,′where[′id′]=array(′like′,′where['id'] = array('like','begin%')

$where['id'] = array('like','%begin%')

where id like '%begin'

where id like 'begin%'

where id like'%begin%

在范围内包括俩端值

between

0<=id<=10

$where['id'] = array('between',array('0','10'))

where id between 0 and 10

不在范围内

not between

0 >id and 1o < id

$where['id'] = array('not between',array('0','10'))

where id not between 0 and 10

在枚举的值中

in

in

$where['id'] = array('in',array('1','2','5'))

where id in ('1','2','3')

不在枚举值中

not in

not in

$where['id'] = array('not in',array('1','2',5))

where id not in ('1','2','5')

exp

表达式查询,支持SQL语法exp 是表达式的意思,如果你觉得对于一个值限制条件太多的话就可以用这个

$where['id'] = array('exp','in ( select id from id from tableb)');

复查的查询语句

有的时候,我们希望通过一次的查询就能解决问题,这个时候查询条件往往比较复杂,但是却比多次查询库来的高效。

实在是搞不定的话就直接用$where['_string'] = 'xxxx', 这个代表查询的时候拼接上 xxx 条件,一次性解决问题

$where['_string'] = 'left join A on A.id = b.id where a.id not in (select id from C)';

1. 区间查询(一个值得多种情况)

默认是 and

$where['id'] =array(array('neq','8'),array('elt','200'),'and'); // 小于等于200 不等于 8

$where['id'] = array(array('neq','8'),'array('neq','10')','or'); // 不等于8或者不等于10

2. 复合查询

相当于封装了新的查询条件在里面

$where['a'] = 5;

$where['b'] = 6;

$where['_logic'] = 'or';

sql:where a = 5 or b = 6;

$condition['c'] = '3';

$condition['d'] = '4'

$condition['_logic'] = 'or'

$where['a'] = 9;

$where['_complex'] = $condition;

sql: where a=9 and (c = 3 or d = 4)

根据需求,灵活使用(无限套下去)

3. sql 查询

如果有设置了读写分离的话 query 是查询 execute是更新保存

M()->query('select * from a');

M()->execute('update a set counts = 3 where id = 1103')

4. 获取要执行的sql 语句

有的时候条件太复杂,比如 id in(xxxxx),这个xxx就是通过一系列操作获得的结果,嫌麻烦的就直接 都扔进去,写sql 又长,就直接获取sql语句扔进去

1.fetchsql

2.buildsql

3.select(false)

M('user')->fetchsql(true)->select();

M('user')->buildsql();

M('user')->select(false);

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

您可能感兴趣的文章:ThinkPHP中where()使用方法详解

ThinkPHP CURD方法之where方法详解

ThinkPHP Where 条件中常用表达式示例(详解)

ThinkPHP有变量的where条件分页实例

ThinkPHP5联合(关联)查询、多条件查询与聚合查询实例详解

Thinkphp使用mongodb数据库实现多条件查询方法

thinkphp3查询mssql数据库乱码解决方法分享

分享ThinkPHP3.2中关联查询解决思路

基于thinkPHP3.2实现微信接入及查询token值的方法

ThinkPHP3.1查询语言详解

ThinkPHP3.1新特性之查询条件预处理简介

php中条件查询语句,thinkphp3.2框架中where条件查询用法总结相关推荐

  1. mysql 中的neq_mysql中neq使用Python的Django框架中的压缩组件Django Compressor_MySQL

    为了加快网站的加载速度,我们通常要多js和css进行压缩处理.这些js和css的压缩工作如果都手动处理,费时费力. <mysql中neq使用Python的Django框架中的压缩组件Django ...

  2. mysql sql 连接查询语句_Mysql——sql数据库中的连接查询

    1.1.1   交叉连接(CROSS JOIN) 交叉连接(CROSS JOIN):有两种,显式的和隐式的,不带ON子句,返回的是两表的乘积,也叫笛卡尔积. 例如:下面的语句1和语句2的结果是相同的. ...

  3. mysql查询语句是什么意思_mysql子条件查询语句是什么意思?

    mysql中,在一个表表达中可以调用另一个表表达式,这个被调用的表表达式叫做子查询(subquery)语句,也称作子选择(subselect)或内嵌选择(inner select).子查询的结果传递给 ...

  4. 基于SqlServer的DML(数据查询)实验,掌握select查询语句的使用、掌握有无条件查询、结果排序与分组、掌握视图用法

    实验三 数据库的查询一.实验目的及要求 1. 熟练掌握SELECT查询语句的使用 2. 掌握无条件.有条件查询及查询结果排序与分组 3. 掌握视图的用法二.实验任务 1.掌握查询语句的一般格式. 2. ...

  5. mysql提取手机号_如何使用mysql查询语句从用户手机号中提取纯号码

    大家好,我是Dodo团队的shimii 今天和大家分享一下如何使用mysql语句从用户手机号中提取纯号码. 最近工作中需要查询一些用户的手机号,但是数据库中的手机号存在不太规范的情况,数据大概有以下几 ...

  6. 在mysql怎样查询地址和电话_如何使用mysql查询语句从用户手机号中提取纯号码...

    大家好,我是Dodo团队的shimii 今天和大家分享一下如何使用mysql语句从用户手机号中提取纯号码. 最近工作中需要查询一些用户的手机号,但是数据库中的手机号存在不太规范的情况,数据大概有以下几 ...

  7. python if语句判断字符串_python – 条件If语句:如果行中的值包含字符串…设置另一列等于字符串...

    编辑制作: 我在"活动"列中填充了字符串,我想使用if语句在"Activity_2"列中派生值. 因此Activity_2显示了所需的结果.基本上我想说出正在发 ...

  8. php mongo 范围查询语句,【MongoDB】数组和范围查询的相互作用

    文档中的标量(非数组元素)必须与查询条件中的每一条语句相匹配.例如,如果使用{"x":{$gt:10, $lt:20}进行查询,只会匹配"X"键的大于等于10并 ...

  9. MySQL数据库的查询:常用查询语句、MySQL函数、多表查询、视图表

    文章目录 一.构造数据 二.常用的查询语句 1.SELECT:字段表达式 2.FROM 子句 3.WHERE 子句:按指定条件过滤 4.GROUP BY:分组查询 5.HAVING 6.ORDER B ...

最新文章

  1. SAP CRM service contract和individual object
  2. 阿里拍卖官方客服全面升级 推出一对一教你“一站式服务”
  3. kill killall pkill 的区别
  4. Java 关于类型类、this.getClass()的理解
  5. python 3.X中打包二进制数据存储字符串出错原因分析
  6. 教务管理系统数据表关系图_Web技术——简易班级管理系统(框架)
  7. fireworks8序列号:
  8. Oracle数据库锁表查询
  9. 一个函数搞定无限层级分类
  10. 全新帝国CMS7.5大气科技感网站建设+网络公司网站源码
  11. 位置式数字PI控制器C语言
  12. u盘容量足够,但是提示目标文件过大无法复制的解决办法
  13. 微信支付-JASPI:准备工作[微信公众平台配置,微信商户平台配置]
  14. 职场“巨婴”,毁人不倦
  15. 产品读书《关键对话:如何高效能沟通》
  16. 侧脸生成正脸概论与精析
  17. 数字时代,商业智能BI的落地意味着什么
  18. Wifi-direct 相关记录
  19. python智力问答游戏_Python语言编写智力问答小游戏功能
  20. MySql数据库——登录和常用命令

热门文章

  1. 化腐朽为神奇:推荐一个让算法动起来更好理解的学习项目!
  2. 什么是NIO?NIO的原理是什么机制?
  3. 死磕Java并发:J.U.C之AQS简介
  4. android 自定义搜索框edittext,Android编程自定义搜索框实现方法【附demo源码下载】...
  5. linux 服务器拦截http请求,详解Linux屏蔽浏览器上http请求警报的方法
  6. ionic4中的手势事件
  7. C#机房重构-datagridview控件的使用
  8. YOLOv5-Lite 使用笔记
  9. CoTNet 修改笔记
  10. however the ssl module in Python is not available