php表达式生成工具,thinkPHP5.0数据查询表达式生成技巧
thinkPHP的查詢表達式大揭秘
主要使用where(條件表達式)方法
語法一:where('字段','條件','值');
等于:EQ 解析為"="
不等于:NEQ 解析為"<>"
小于:LT 解析為"
小于等于: ELT 解析為"<="
大于:GT 解析為">"
大于等于:EGT 解析為">="
區間:BETWEEN 解析為 “BETWEEN * AND *”
不在區間:NOTBETWEEN 解析為 “NOTBETWEEN * AND *”
集合:IN 解析為 IN(*,*);
不在集合 : NOT IN 解析為 NOT IN(*,*)
字段值為NULL 和 NOT NULL
//條件省略,默認為相等
$res=Db::table('data')->where('id',11) //等價于:where('id','=',11)
->fetchSql(true) //輸出SQL語句,
->select();
//完整的單值條件表達式
$res=Db::table('data')->where('id','EGT',11)? //等價于: where('id','>=',11)
->fetchSql(true)
->select();
//區間條件表達式
$res=Db::table('data')->where('age','BETWEEN',[18,35]) //between 18 and 35
->where('age','NOT BETWEEN',[18,35]) //not between 18 and 35
->fetchSql(true)
->select();
//集合條件表達式
$res=Db::table('data')->where('id','IN',[2,3,4])? //in(2,3,4)
->where('id','NOT IN',[2,3,5]) //not in(2,3,5)
->fetchSql(true)
->select();
//null值判斷,注意中間有“=”號的區別
$res=Db::table('Data')->where('node_name','NULL')? //找出該字段默認設置為NULL的數據
->where('node_name','=','NULL')? //找出改字段等于NULL字符串的數據
->fetchSql(true) //打印SQL
->select();
//like 或者 not like
$res=Db::table('Data')->where('name','LIKE','%php')? //模糊匹配以php結尾的字段
->where('name','NOT LIKE','%php')
->where('node_name','=','NULL') //node_name的值為NULL
->fetchSql(true)
->select();
每個數組元素都是一個查詢條件,使用where()方法時,每個條件之間為AND關系,使用whereOr()方法為or
//AND
$res=Db::table('Data')->where([
'id'=>['>',11],
'typeid'=>['BETWEEN',[13,20]]
])
->fetchSql(true)
->select();
//SQL :select * from `Data` where `id` >11 AND `typeid`? BETWEEN 18 AND 20;
//OR
$res=Db::table('Data')->whereOr([
'id'=>['EGT',11],
'age'=>['BETWEEN',[17,20]]
])
->fetchSql(true)
->select();
//SQL:select * from `Data` where `id` >=11 OR `age` BETWEEN 17 AND 20
//簡單條件
$res=Db::table('Data')->where('id','EXP','>=10')
->select();
SQL : select * from `Data` where (`id`>=10)
//復合條件
$res=Db::table('Data')->where('age','EXP','BETWEEN 20 AND 30')
->where();
SQL: select * from `Data` where (`age` BETWEEN 20 AND 30);
$res=Db::table('Data')->where('id','EXP','>=10')
->where('age','>',30)
->whereOr('dept','市場部')
->select();
select * from `Data` where(`id`>=10) AND `age`>30 OR `dept`='市場部';
總結
以上是生活随笔為你收集整理的php表达式生成工具,thinkPHP5.0数据查询表达式生成技巧的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php 累,php 记录进行累结果
- 下一篇: php语言冒泡法,冒泡排序法(php)