iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >Thinkphp5的where查询
  • 956
分享到

Thinkphp5的where查询

thinkphpphp数据库mysql 2023-09-01 08:09:25 956人浏览 独家记忆
摘要

目录 一、get 获取一条记录 二、all 获取多条记录 三、find 查询某一条 四、select 多条查询 五、value 按字段查询一条 六、查询数目 七、whereTime() 时间条件查询 八、where查询条

目录

一、get 获取一条记录

二、all 获取多条记录

三、find 查询某一条

四、select 多条查询

五、value 按字段查询一条

六、查询数目

七、whereTime() 时间条件查询

八、where查询条件

九、where表达式查询


一、get 获取一条记录

$res = User::get(1);

二、all 获取多条记录

不传参

$result = User::all(); //查询出所有记录 

参数为n,n为正整数 

$result = User::all(1); //查询出id为1的记录

参数为'n1, n2, n3...'

$result = User::all('7, 8, 9, 10'); //查询出id为7、8、9、10的4条记录 

参数为[n1, n2, n3...] 

$result = User::all([7, 8, 9, 10]); //查询出id为7、8、9、10的4条记录

三、find 查询某一条

 $res = User::where('id','1')->field('name')->find();

四、select 多条查询

$res = User::where('id','1')->field('name')->limit(2)->order('id DESC')->select();

五、value 按字段查询一条

$res = User::where('id','1')->value('name');

六、查询数目

//查询总条数$res = User::count();//按条件统计条数$res = User::where('id','>',3)->count();

七、whereTime() 时间条件查询

获取今天的数据

db('table')->whereTime('c_time', 'today')->select();//也可以简化为下面方式db('table')->whereTime('c_time', 'd')->select();

获取昨天的数据

db('table')->whereTime('c_time', 'yesterday')->select();

获取本周的数据

db('table')->whereTime('c_time', 'week')->select(); //也可以简化为下面方式db('table')->whereTime('c_time', 'w')->select(); 

获取本月的数据

db('table')->whereTime('c_time', 'month')->select();   //也可以简化为下面方式db('table')->whereTime('c_time', 'm')->select();   

 5、获取上月的数据

db('table')->whereTime('c_time','last month')->select();    

获取今年的数据

db('table')->whereTime('c_time', 'year')->select();    //也可以简化为下面方式db('table')->whereTime('c_time', 'y')->select();    

获取去年的数据

db('table')->whereTime('c_time','last year')->select(); 

日期区间查询

//根据时间戳查询今天到后天db('table')->whereTime('time', 'between', [strtotime(date('Y-m-d')), strtotime(date('Y-m-d', strtotime('+2 day')))])->select();//根据日期查询今天到后天db('table')->whereTime('time', 'between', ['2020-3-28', '2020-3-30'])->select();

八、where查询条件

方式1:

一个参数,字符串条件直接查询,例如:where("id>10")
方式2:

一个参数,字段名为键的关联数组,例如:where(['id'=>array('eq',10)])
方式3:

二个参数,第一个为字段名,第二个参数为字段值,例如:where('id',10)
方式4:

三个参数,第一个为字段名,第二个为条件,第三个参数为值,例如:where('id','eq',10)

 1、使用字符串条件+预处理机制一起使用

//方式1$res = db('table')->where("id=:id and type=:type")->bind(['id'=>15,'type'=>0])->select();//方式2$res = db('table')->where("id=? and type=?")->bind([15,0])->select();//方式3$res = db('table')->where("id=:id and type=:type",array('id'=>$id,'type'=>$type))->select();//方式4$res = db('table')->where("id=? and type=?",array($id,$type))->select();

使用数组作为条件,进行普通查询

$map = array(   'id'=>15,    'type'=>0,);$res = db('table')->where($map)->select();

九、where表达式查询

语法:

$map[‘字段1’] = array(‘表达式’,‘查询条件1’);

$map[‘字段2’] = array(‘表达式’,‘查询条件2’);

db(‘table’)->where($map)->select();

1、表达式不分大小写,支持的查询表达式有下面几种,分别表示的含义是:

表达式含义
eq、=等于(=)
neq、<>不等于(<>)
gt、>大于(>)
egt、>=大于等于(>=)
lt、<小于(<)
elt、<=小于等于(<=)
like模糊查询
[not] between(不在)区间查询
[not] in(不在)IN 查询
[not] null查询字段是否(不)是NULL
[not] existsEXISTS查询
exp表达式查询,支持sql语法
> time时间比较
< time时间比较
between time时间比较
notbetween time时间比较

 2、表达式查询的用法示例如下:

eq :等于(=)

例如:

where('id','eq',100);where('id','=',100);

和下面的查询等效

where('id',100);

表示的查询条件就是 id = 100

neq: 不等于(<>)

例如:

where('id','neq',100);where('id','<>',100);

表示的查询条件就是 id <> 100

gt:大于(>)

例如:

where('id','gt',100);where('id','>',100);

表示的查询条件就是 id > 100

egt:大于等于(>=)

例如:

where('id','egt',100);where('id','>=',100);

表示的查询条件就是 id >= 100

lt:小于(<)

例如:

where('id','lt',100);where('id','<',100);

表示的查询条件就是 id < 100

elt: 小于等于(<=)

例如:

where('id','elt',100);where('id','<=',100);

表示的查询条件就是 id <= 100

[not] like:用法等同于sql的like

例如:

where('name','like','thinkPHP%');

查询条件就变成 name like 'thinkphp%'

V5.0.5+版本开始,like查询支持使用数组

where('name','like',['%think','php%'],'OR');

[not] between :用法等同于sql的[not] between

查询条件支持字符串或者数组,例如:

where('id','between','1,8');

和下面的等效:

where('id','between',[1,8]);

查询条件就变成 id BETWEEN 1 AND 8

[not] in: 用法等同于sql的[not] in

查询条件支持字符串或者数组,例如:

where('id','not in','1,5,8');

和下面的等效:

where('id','not in',[1,5,8]);

查询条件就变成 id NOT IN (1,5, 8)

[NOT] IN查询支持使用闭包方式

[not] null

查询字段是否(不)是Null,例如:

where('name', null);where('title','null');where('name','not null');

如果你需要查询一个字段的值为字符串null或者not null,应该使用:

where('title','=', 'null');where('name','=', 'not null');

exp:表达式

支持更复杂的查询情况 例如:

where('id','in','1,3,8');

可以改成:

where('id','exp',' IN (1,3,8) ');

exp查询的条件不会被当成字符串,所以后面的查询条件可以使用任何SQL支持的语法,包括使用函数和字段名称。

来源地址:https://blog.csdn.net/qq15577969/article/details/128052628

--结束END--

本文标题: Thinkphp5的where查询

本文链接: https://www.lsjlt.com/news/387892.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Thinkphp5的where查询
    目录 一、get 获取一条记录 二、all 获取多条记录 三、find 查询某一条 四、select 多条查询 五、value 按字段查询一条 六、查询数目 七、whereTime() 时间条件查询 八、where查询条...
    99+
    2023-09-01
    thinkphp php 数据库 mysql
  • MySQL中where查询的案例分析
    这篇文章将为大家详细讲解有关MySQL中where查询的案例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。不能说不行今天加班,业务的妹子过来找我们查数据,说...
    99+
    2024-04-02
  • mysql中delete from where子查询的限制是什么
    小编给大家分享一下mysql中delete from where子查询的限制是什么,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!1、使用mysql进行delete...
    99+
    2024-04-02
  • mysql中where条件查询怎么用
    这篇文章给大家分享的是有关mysql中where条件查询怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。-- where字句-- 删除ID值大于10的用户...
    99+
    2024-04-02
  • PHP中如何利用where模糊查询
    PHP是一种广泛使用的脚本语言,随着互联网时代的到来,它成为了最受欢迎的编程语言之一。其中,PHP利用where模糊查询在数据操作中也广泛使用。在PHP语言中,where子句是SQL语句中最重要的一部分,它用于过滤指定表...
    99+
    2023-05-14
    模糊查询 php
  • mysql中where查询语句如何用
    今天小编给大家分享一下mysql中where查询语句如何用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下...
    99+
    2024-04-02
  • PHP中怎么利用where模糊查询
    这篇“PHP中怎么利用where模糊查询”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“PHP中怎么利用wher&#...
    99+
    2023-07-05
  • 在sql查询中如何使用where子句
    这篇文章将为大家详细讲解有关在sql查询中如何使用where子句,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在sql查询中使用where子句指出的是...
    99+
    2024-04-02
  • mysql查询语句join、on、where的执行顺序
    目录一、典型SELECT语句完整的执行顺序二、from三、on四、on 条件与where 条件1、使用位置2、使用对象3、选择与使用五、join 流程mysql 的执行顺序 一、典型SELECT...
    99+
    2022-11-19
    mysql查询语句执行顺序 mysql join mysql on mysql where
  • mybatisplus where QueryWrapper怎么加括号嵌套查询
    这篇“mybatisplus where QueryWrapper怎么加括号嵌套查询”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章...
    99+
    2023-06-26
  • mysql连接查询中and与where的区别是什么
    小编给大家分享一下mysql连接查询中and与where的区别是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1. 建表CREATE TA...
    99+
    2023-06-20
  • laravel模型查询如何按照whereIn排序
    今天小编给大家分享一下laravel模型查询如何按照whereIn排序的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧...
    99+
    2023-07-04
  • mysql连接查询中and与where的区别浅析
    1. 建表 CREATE TABLE `student` ( `id` int(11) NOT NULL, `name` varchar(255) CHARA...
    99+
    2024-04-02
  • MySQL查询条件中on和where的区别是什么
    今天就跟大家聊聊有关MySQL查询条件中on和where的区别是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。MySQL 语句执行顺序...
    99+
    2024-04-02
  • PHP Laravel 如何查询字段类型为json的数据-WhereJsonContains、orWhereJsonContains
    创建表 CREATE TABLE `suppliers` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `supplier_name` varch...
    99+
    2023-10-23
    php laravel json
  • 使用文档 ID (__name__) 进行Where条件查询
    大家好,我们又见面了啊~本文《使用文档 ID (__name__) 进行Where条件查询》的内容中将会涉及到等等。如果你正在学习Golang相关知识,欢迎关注我,以后会给大家带来更多Go...
    99+
    2024-04-04
  • 详解MySQL查询优化中的Using where 和 Using index概念
    这期内容当中小编将会给大家带来有关详解MySQL查询优化中的Using where 和 Using index概念,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。...
    99+
    2024-04-02
  • SQL中where语句的用法及实例代码(条件查询)
    目录1.where语法和用法(1)语法:where <criteria> 即where <查询条件>(2)用法:获取满足一定条件的目标数据。2.实例(1)单一条件查询...
    99+
    2024-04-02
  • mysql查询语句中,是join先执行还是where先执行?
    在 MySQL 中,WHERE 子句会先于 JOIN 子句执行。 JOIN 子句用于连接两个或多个表,在 JOIN 子句中可以使用 ON 或 USING 子句来指定连接条件。 JOIN 子句会从两个表中返回符合连接条件的行,这些...
    99+
    2023-09-05
    mysql 数据库 sql mybatis
  • sql连接查询语句中on、where筛选的区别是什么
    这篇文章将为大家详细讲解有关sql连接查询语句中on、where筛选的区别是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。来看一个示例,有两张数据表,结构和...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作