php中条件查询语句,thinkphp3.2框架中where条件查询用法总结
本文实例讲述了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条件查询用法总结相关推荐
- mysql 中的neq_mysql中neq使用Python的Django框架中的压缩组件Django Compressor_MySQL
为了加快网站的加载速度,我们通常要多js和css进行压缩处理.这些js和css的压缩工作如果都手动处理,费时费力. <mysql中neq使用Python的Django框架中的压缩组件Django ...
- mysql sql 连接查询语句_Mysql——sql数据库中的连接查询
1.1.1 交叉连接(CROSS JOIN) 交叉连接(CROSS JOIN):有两种,显式的和隐式的,不带ON子句,返回的是两表的乘积,也叫笛卡尔积. 例如:下面的语句1和语句2的结果是相同的. ...
- mysql查询语句是什么意思_mysql子条件查询语句是什么意思?
mysql中,在一个表表达中可以调用另一个表表达式,这个被调用的表表达式叫做子查询(subquery)语句,也称作子选择(subselect)或内嵌选择(inner select).子查询的结果传递给 ...
- 基于SqlServer的DML(数据查询)实验,掌握select查询语句的使用、掌握有无条件查询、结果排序与分组、掌握视图用法
实验三 数据库的查询一.实验目的及要求 1. 熟练掌握SELECT查询语句的使用 2. 掌握无条件.有条件查询及查询结果排序与分组 3. 掌握视图的用法二.实验任务 1.掌握查询语句的一般格式. 2. ...
- mysql提取手机号_如何使用mysql查询语句从用户手机号中提取纯号码
大家好,我是Dodo团队的shimii 今天和大家分享一下如何使用mysql语句从用户手机号中提取纯号码. 最近工作中需要查询一些用户的手机号,但是数据库中的手机号存在不太规范的情况,数据大概有以下几 ...
- 在mysql怎样查询地址和电话_如何使用mysql查询语句从用户手机号中提取纯号码...
大家好,我是Dodo团队的shimii 今天和大家分享一下如何使用mysql语句从用户手机号中提取纯号码. 最近工作中需要查询一些用户的手机号,但是数据库中的手机号存在不太规范的情况,数据大概有以下几 ...
- python if语句判断字符串_python – 条件If语句:如果行中的值包含字符串…设置另一列等于字符串...
编辑制作: 我在"活动"列中填充了字符串,我想使用if语句在"Activity_2"列中派生值. 因此Activity_2显示了所需的结果.基本上我想说出正在发 ...
- php mongo 范围查询语句,【MongoDB】数组和范围查询的相互作用
文档中的标量(非数组元素)必须与查询条件中的每一条语句相匹配.例如,如果使用{"x":{$gt:10, $lt:20}进行查询,只会匹配"X"键的大于等于10并 ...
- MySQL数据库的查询:常用查询语句、MySQL函数、多表查询、视图表
文章目录 一.构造数据 二.常用的查询语句 1.SELECT:字段表达式 2.FROM 子句 3.WHERE 子句:按指定条件过滤 4.GROUP BY:分组查询 5.HAVING 6.ORDER B ...
最新文章
- SAP CRM service contract和individual object
- 阿里拍卖官方客服全面升级 推出一对一教你“一站式服务”
- kill killall pkill 的区别
- Java 关于类型类、this.getClass()的理解
- python 3.X中打包二进制数据存储字符串出错原因分析
- 教务管理系统数据表关系图_Web技术——简易班级管理系统(框架)
- fireworks8序列号:
- Oracle数据库锁表查询
- 一个函数搞定无限层级分类
- 全新帝国CMS7.5大气科技感网站建设+网络公司网站源码
- 位置式数字PI控制器C语言
- u盘容量足够,但是提示目标文件过大无法复制的解决办法
- 微信支付-JASPI:准备工作[微信公众平台配置,微信商户平台配置]
- 职场“巨婴”,毁人不倦
- 产品读书《关键对话:如何高效能沟通》
- 侧脸生成正脸概论与精析
- 数字时代,商业智能BI的落地意味着什么
- Wifi-direct 相关记录
- python智力问答游戏_Python语言编写智力问答小游戏功能
- MySql数据库——登录和常用命令
热门文章
- 化腐朽为神奇:推荐一个让算法动起来更好理解的学习项目!
- 什么是NIO?NIO的原理是什么机制?
- 死磕Java并发:J.U.C之AQS简介
- android 自定义搜索框edittext,Android编程自定义搜索框实现方法【附demo源码下载】...
- linux 服务器拦截http请求,详解Linux屏蔽浏览器上http请求警报的方法
- ionic4中的手势事件
- C#机房重构-datagridview控件的使用
- YOLOv5-Lite 使用笔记
- CoTNet 修改笔记
- however the ssl module in Python is not available