linzy

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

 

一、普通查询方式

         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['sex']=0;

                   $data['username']='gege';

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

 

 

'URL_PATHINFO_DEPR' => '-' //配置Pathinfo模式访问的分割符
'TMPL_L_DELIM'=>'<{'; //配置左定界符
'TMPL_R_DELIM'=>'}>'; //配置右定界符
'DB_TYPE'=>'mysql', //设置数据可类型
'DB_HOST'=>'localhost', //设置数据库主机
'DB_NAME'=>'thinkphp', //设置数据库名
'DB_USER'=>'root', //设置用户名
'DB_PWD'=>'', //设置密码
'DB_PORT'=>'3306', //设置端口号
'DB_PREFIX'=>'tp_', //设置表前缀
'DB_DSN'=>'mysql://root:@localhost:3306/thinkphp', //DSN方式配置数据库信息
'SHOW_PAGE_TRACE'=>true,//开启页面Trace
'DB_LIKE_FIELDS'=>'title|content' //查询语句中条件自动变为模糊查询%%

 

六、常用连贯操作

         1.where

                   帮助我们设置查询条件

         2.order    

                   对结果进行排序

                   $arr=$m->order('id desc')->select();

                   $arr=$m->order(array('id'=>'desc','sex'=>'asc'))->select();

         3.limit      

                   限制结果

                   limit(2,5)

                   limit('2,5')

                   limit(10)//limit(0,10)

         4.field      

                   设置查询字段

                   field('username as name,id')

                   field(array('username'=>'name','id')

                   field('id',true) //获取除了id以外的所有字段

         5.table    

         6.group   

         7.having

七、补充 

                            alias 用于给当前数据表定义别名 字符串

                            page 用于查询分页(内部会转换成limit) 字符串和数字

                            join* 用于对查询的join支持 字符串和数组

                            union* 用于对查询的union支持 字符串、数组和对象

                            distinct 用于查询的distinct支持 布尔值

                            lock 用于数据库的锁机制 布尔值

                            cache 用于查询缓存 支持多个参数(以后在缓存部分再详细描述)

                            relation 用于关联查询(需要关联模型扩展支持) 字符串

                            validate 用于数据自动验证 数组

                            auto 用于数据自动完成 数组

                            filter 用于数据过滤 字符串

                            scope* 用于命名范围 字符串、数组

posted on 2013-09-15 09:14  linzy  阅读(541)  评论(0编辑  收藏  举报