Thinkphp的SQL查詢方式
一、普通查詢方式
a、字符串
$arr=$m->where("sex=0 and username=‘gege‘")->find();
b、數組
$data[‘sex‘]=0;
$data[‘username‘]=‘gege‘;
$arr=$m->where($data)->find();
註意:這種方式默認是and的關系,如果使用or關系,需要添加如下數組值
$data[‘_logic‘]=‘or‘;
二、表達式查詢方式
$data[‘id‘]=array(‘lt‘,6);
$arr=$m->where($data)->select();
EQ 等於NEQ不等於
GT 大於
EGT大於等於
LT 小於
ELT小於等於
LIKE 模糊查詢
$data[‘username‘]=array(‘like‘,‘%ge‘);
$arr=$m->where($data)->select();
NOTLIKE
$data[‘username‘]=array(‘notlike‘,‘%ge%‘); //notlike中間沒有空格
$arr=$m->where($data)->select();註意:如果一個字段要匹配多個通配符
$data[‘username‘]=array(‘like‘,array(‘%ge%‘,‘%2%‘,‘%五%‘),‘and‘);//如果沒有第三個值,默認關系是or關系$arr=$m->where($data)->select();
BETWEEN
$data[‘id‘]=array(‘between‘,array(5,7));
$arr=$m->where($data)->select();
//SELECT * FROM `tp_user` WHERE ( (`id` BETWEEN 5 AND 7 ) )
$data[‘id‘]=array(‘not between‘,array(5,7));//註意,not 和 between中間一定要有空格
$arr=$m->where($data)->select();
IN
$data[‘id‘]=array(‘in‘,array(4,6,7));$arr=$m->where($data)->select();
//SELECT * FROM `tp_user` WHERE ( `id` IN (4,6,7) )$data[‘id‘]=array(‘not in‘,array(4,6,7));
$arr=$m->where($data)->select();
//SELECT * FROM `tp_user` WHERE ( `id` NOT IN (4,6,7) )
三、區間查詢
$data[‘id‘]=array(array(‘gt‘,4),array(‘lt‘,10));//默認關系是 and 的關系
//SELECT * FROM `tp_user` WHERE ( (`id` > 4) AND (`id` < 10) )$data[‘id‘]=array(array(‘gt‘,4),array(‘lt‘,10),‘or‘) //關系就是or的關系
$data[‘name‘]=array(array(‘like‘,‘%2%‘),array(‘like‘,‘%五%‘),‘gege‘,‘or‘);
四、統計查詢
count //獲取個數
max //獲取最大數
min //獲取最小數
avg //獲取平均數
sum //獲取總和
五、SQL直接查詢
a、query 主要數處理讀取數據的
成功返回數據的結果集
失敗返回boolean false
$m=M();
$result=$m->query("select * from t_user where id >50");
var_dump($result);
b、execute 用於更新個寫入操作
成功返回影響行數
失敗返回boolean false
$m=M();
$result=$m->execute("insert into t_user(`username`) values(‘ztz3‘)");
var_dump($result);
Thinkphp的SQL查詢方式