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