欢迎访问爱油菜中文网!
您所在的位置:首页 > 代码学苑 > 网建教程

thinkphp(TP6)-数据库操作(查询表达式)

作者:来源:发表于:2022-01-13 20:15:55

TP6-数据库操作(查询表达式)

查询表达式

查询表达式支持大部分的SQL查询语法,也是Thinkphp查询语言的精髓,查询表达式的使用格式:

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

除了where方法外,还可以支持whereOr,用法是一样的。为了更加方便查询,大多数的查询表达式都提供了快捷查询方法。

表达式用法示例:

等于 (=)

Db::table('user')->where('id','=',1)->select();

和下面查询等效

Db::table('user')->where('id',1)->select();

SQL语句为:

select * from user where id = 1;

相关的有不等于(<>),大于(>),大于等于(>=),小于(<),小于等于(<=),写法与上面相同;

[NOT]LIKE:同SQL的LIKE

Db::table('user')->where('name', 'like', 'thinkphp%')->select();

SQL语句为:

select * from user where name like 'thinkphp%';

[NOT]BETWEEN:同SQL的BETWEEN AND

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

Db::table('user')->where('id','between','1,8')->select();

和下面等效:

Db::table('user')->where('id','between',[1,8])->select();

SQL语句为:

select * from user where id between 1 and 8;

[NOT]IN:同SQL的IN

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

Db::table('user')->where('id','in','1,2,5')->select();

和下面等效:

Db::table('user')->where('id','in',[1,2,5])->select();

SQL语句为:

select * from user where id in (1,2,5);

[NOT]NULL:

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

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

SQL语句为:

SELECT * FROM `user` WHERE  `name` IS NULL  AND `email` IS NULL  AND `name` IS NOT NULL

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

Db::table('user')->where('title','=', 'null')
->where('name','=', 'not null')
->select();