记录学习与后端知识并分享学习代码过程(会飞的鱼Blog)

Thinkphp6查询表达式

会飞的鱼 0 4319 2022年4月8日

比较查询

查询表达式支持大部分常用的SQL语句,语法格式如下:

where('字段名','查询表达式','查询条件');

在查询数据时,使用where()方法

Db::name('user')->where('id',14)->find();
Db::name('user')->where('id,'=',14)->find();

可以使用<>><>=<=筛选出各种比较值的数据

区间查询

使用like表达式进行模糊查询

Db::name('user')->where('email','like','zqx%')->find();

like表达式支持数组传递进行模糊查询

Db::name('user')->where('email','like',['tl%','zqx%'],'or')->select();

like表达式可以使用whereLike()和whereNoLike()
使用whereLike()方法

Db::name('user')->whereLike('email','zqx%')->find();

使用whereNotLike()方法

Db::name('user')->whereNotLike('email','zqx%')->select();

between表达式可以用来进行区间查询

Db::name('user')->where('price',70)->select();
Db::name('user')->where('price','between',[30,70])->select();

between表达式有两种方式whereBetween()和whereNotBetween()
使用whereBetween()方法

Db::name('user')->whereBetween('price','30,70')->find();

使用whereNotBetween()方法

Db::name('user')->whereNotBetween('price','30,70')->find();

In表达式可以用来进行IN查询

Db::name('user')->where('price','in',[60,70,80])->find();
Db::name('user')->where('price','in','60,70,80')->find();

In表达式有两种方式whereIn()和whereNotIn()
使用whereIn()

Db::name('user')->whereIn('price','60,70,80')->select();

使用whereNoIn

Db::name('user')->whereNotIn('price','60,70,80')->select();

null表达式可以查询字段是否(不)是Null

Db::name('user')->where('pass','null')->select();
Db::name('user')->where('pass','not null')->select();

null表达式有两种方式whereNull()和whereNotNull()

Db::name('user')->whereNull('pass')->select();
Db::name('user')->whereNotNull('pass')->select();

EXP查询

使用exp可以自定义字段后的SQL语句

Db::name('user')->where('price','exp','between 30 and 70')->select();

exp表达式的方法:whereExp()

Db::name('user')->whereExp('price','in(70,80)')->select();
本文由 @会飞的鱼 于 2022-4-8 发布在 会飞的鱼Blog,如无特别说明,本博文章均为原创,转载请保留出处。

网友评论

    暂无评论

会飞的鱼 在线咨询

在线时间:9:00-22:00
周六、周日:14:00-22:00