1. 程式人生 > >Thinkphp的SQL查詢方式

Thinkphp的SQL查詢方式

tro 返回 false 如果 int col avg 取數 通配符

一、普通查詢方式

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查詢方式