第三节Thinkphp3.2.3查询语言

1.查询方式:
    使用字符串作为查询条件:

         $user=M('student');//实例化student

         $user->where('type=1 and status=1')->select();

         这样生成的sql语句是select * form student where type=1 and status=1。

         使用数组方式:

    $con['type']=1;
      $con['status']=1;

          $user->where('type=1 and status=1')->select();

         最后生成的SQL语句与上面一样。

         注意:如果进行多字段查询,那么字段之间的默认逻辑关系是 逻辑与 AND,但是用下面的规则可以更改默认的逻辑判断,通过使用 _logic 定义查询逻辑。

          表达式查询:

      $map['字段名']=array('表达式','查询条件');
        

            表达式不分大小写,支持的查询表达式有下面几种,分别表示的含义是:

表达式 含义
EQ 等于(=)
NEQ 不等于(<>)
GT 大于(>)
EGT 大于等于(>=)
LT 小于(<)
ELT 小于等于(<=)
LIKE 模糊查询
[NOT] BETWEEN (不在)区间查询
[NOT] IN (不在)IN 查询
EXP 表达式查询,支持SQL语法
    快捷查询:
    不同字段的相同查询条件:$['name|type']='thinkphp';
       查询条件就变成name= 'thinkphp' OR type = 'thinkphp'
     不同字段的不同查询条件:
         $['name&type']='thinkphp';

           查询条件就变成:name= 'thinkphp' OR type = 'thinkphp'
     统计查询:

方法 说明
Count 统计数量,参数是要统计的字段名(可选)
Max 获取最大值,参数是要统计的字段名(必须)
Min 获取最小值,参数是要统计的字段名(必须)
Avg 获取平均值,参数是要统计的字段名(必须)
Sum 获取总分,参数是要统计的字段名(必须)

     SQL查询:

      1.query方法:query(sql语句),如果数据非法或者查询错误则返回false,否则返回查询结果数据集(同select方法),如果你当前采用了分布式数据库,并且设置了读写分离的话,query方法始终是在读服务器执行,因此query方法对应的都是读操作。

     2.execute方法:用于更新和写入,用法与query一样,如果你当前采用了分布式数据库,并且设置了读写分离的话,execute方法始终是在写服务器执行,因此execute方法对应的都是写操作,而不管你的SQL语句是什么。

    子查询:select()方法:当select方法的参数为false的时候,表示不进行查询只是返回构建SQL。

                buildSQL方法:调用buildSql方法后不会进行实际的查询操作,而只是生成该次查询的SQL语句。



猜你喜欢

转载自blog.csdn.net/mo3408/article/details/79672873