find()只查詢一條記錄,其返回的是一個一維數組
select()select是指將表中的所有信息全部讀出來
findAll()和select方法相同
select 字段 from 表 where
$user->table()如果想操作多張表,可以使用table
$list=$user->select();
$user->data()data方法是可以被代替的,主要用在save還有add的時候還有delete時候
order
limit()起始位置,查詢多少條,起始位置(偏移量)
page()查詢分頁,很少使用此方法,使用分頁類來實現分頁,使用分頁類實現更加複雜的方法
group()分組
$user->group('id')
having與sql語句當中的having方法一致,結果更加精確
$user->having()
join是關聯查詢,內關聯,左關聯,右關聯
$user->join('user on user.id=user_message.id','card on')
distinct唯一性過濾
select distinct id,username from 表
$user->distinct(true)->select();
relation 方法 關聯模型
lock 查詢鎖 lock(true) myisam引擎可以不用考慮鎖
getField('字段');你不想查詢其他的東西時,可以使用此方法。
更新數據
$data['password']='aaaa'
$list=$user->where('id=4')save($data)
第一可以向save這個括號當中直接傳入想要更改數據,其數據格式是字段信息數組
第二更新用的是save方法
第三如果不寫where,可以不寫where 但對應的數組當中必須要有指定的where條件
第四data方法的使用
第五$list到底是什麼?如果沒有受影響行數,則沒更新成功
delete方法
可以直接傳入一個主鍵id
$list=$user->delete(7);
$list=$user->where('id>5')->delete();
setField()
setInc()通常是數字的字段
SetDec()減一
前面第一處寫字段,第二處寫where條件,第三次寫上對應的增加字段
$List=$user->setInc('price','id=1',3)
$list=$user->SetDec('price','id=1',2);
$user->where('id=1')->setField(('username','password'),array('google','google'))
thinkphp的查詢語言
普通查詢 在查詢帶入where條件中,最少有三種形式1.字符串形式
2.數組形式 $user=M('user');$data['username']='lwk';$list=$user->where(array('username')=>'liwenkai'))->select();
3.對象形式 $user=M('user'); $c=new stdClass(); $c->userbane='lwk';$list=$user->where($c)->select();EQ等於 NEQ不等於 GT大於 EGT大於等於 LT 小於 ELT小於等於 like等價於sql的like between指sql裏的between
in 查詢集合
exp 是指使用sql實現更加複雜的情況
區間查詢
$data['id']=array(array('gt',3),array('lt',10))
id>3 and id<10
組合查詢
$data['username']='haha';
$data['password']=array('eq','hah');
$data['id']=array('lt',10);
複合查詢
$data['username']=array('eq','hah');
$data['password']=array('like','w%');
$data['_logic']='or';
$where['_complex']=$where;
$where['id']=array('lt',5);
統計查詢
$user->count()總數
$user->max()最大值
$user->min()
$user->avg()平均數
$user->sum()求和
$user=M('user');
定位查詢
getN(正數,負數)直接返回結果當中的某條記錄
first()
last()
SQL查詢
execute()主要用於更新和寫入 有受影響行數但沒結果集得使用execute()
query()主要用於查詢有受影響行數有結果集的
動態查詢
就是在某個方法後面加上一個字段名,或者找前幾條記錄的時候直接寫上
$user=M('user');
$list=$user->getByUsername('hahh');