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();

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM