侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

ThinkPHP中的常用查询语言汇总

ThinkPHP  /  管理员 发布于 8年前   163

本文实例汇总了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 '
';echo $user->max('id');echo '
';echo $user->where('id<30')->min('id');echo '
';echo $user->avg('id');echo '
';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项目中调试运行本文示例,相信会有新的收获。

您可能感兴趣的文章:

  • ThinkPHP多表联合查询的常用方法
  • thinkphp实现like模糊查询实例
  • ThinkPHP查询语句与关联查询用法实例
  • ThinkPHP视图查询详解
  • ThinkPHP查询返回简单字段数组的方法
  • thinkphp数据查询和遍历数组实例
  • thinkphp学习笔记之多表查询
  • ThinkPHP5查询数据及处理结果的方法小结
  • ThinkPHP采用GET方式获取中文参数查询无结果的解决方法
  • Thinkphp使用mongodb数据库实现多条件查询方法
  • thinkphp视图模型查询提示ERR: 1146:Table ''db.pr_order_view'' doesn''t exist的解决方法
  • thinkPHP5实现的查询数据库并返回json数据实例
  • thinkphp中多表查询中防止数据重复的sql语句(必看)
  • ThinkPHP中关联查询实例
  • thinkPHP实现多字段模糊匹配查询的方法
  • ThinkPHP5联合(关联)查询、多条件查询与聚合查询实例详解
  • thinkphp多表查询两表有重复相同字段的完美解决方法
  • ThinkPHP like模糊查询,like多匹配查询,between查询,in查询,一般查询书写方法


  • 上一条:
    ThinkPHP中ajax使用实例教程
    下一条:
    ThinkPHP多语言支持与多模板支持概述
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • thinkphp + mongodb项目中数据加载慢问题分析及解决(0个评论)
    • thinkphp6框架中封装redis操作类(0个评论)
    • thinkphp6框架中实现定时任务功能流程步骤(0个评论)
    • Thinkphp5.1框架中实现Session+Redis会话共享流程步骤(0个评论)
    • TP5框架版本5.0.10安全漏洞根据官方补丁修复,也是本站安全漏洞修复(0个评论)
    • 近期文章
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • Laravel 11.15版本发布 - Eloquent Builder中添加的泛型(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2017-07
    • 2017-08
    • 2017-09
    • 2017-10
    • 2017-12
    • 2018-01
    • 2018-02
    • 2020-03
    • 2021-07
    • 2021-12
    • 2022-05
    • 2022-06
    • 2022-09
    • 2023-01
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客