thinkphp3.0之查询语句

3.0数据库操作与查询分为:(区间查询,统计查询,定位查询,原生查询)

1、select()返回值二维数组   等于findAll() 

    建议使用select()


2、field查询指定字段(连贯方法之一)

  field("username","password")->select();

 

3、find()  只能查询一条记录   默认是根据主键进行查询,也有数组条件,但是注意的是该数组条件是连贯操作的表达式:

如果条件是id的话:可以直接写条件,默认就是id为条件:find(id=2)

$conditon["order"] ="id  desc";

$conditon["where"] ="username = 'wjc'";

 

 4、getByUsername("admin")

   

 5、getfield(’字段1,字段2,字段3‘,spe分隔符)

用法:

               getField($field,$sepa=null)

参数:

                field(必须):要获取的字段字符串(多个用逗号分隔)

sepa(可选):字段数据间隔符号,如果是 NULL返回数组为数组。默认为null。

注:如果field是多个字段,返回数组。数组的索引是第一个字段的值,sepa为null则返回二维数组。

 

连贯操作中,如where group   order   limit select  等中select一定要在最后一个出现


区间查询:

          $condition["id"] =array(array("gt",12),array("lt",15),"or");

         or是两个查询的关联条件,默认不写为and

          $arr= $user ->where($condition)->select();

统计查询:

     "统计用户名的个数:". $user->count("username")."<br>";

        "统计最大的id:".$user->max("id")."<br>";

        "统计最小的id:".$user->min("id")."<br>";

        "统计id的和:".$user->sum("id")."<br>";

        "统计id的平均值:".$user->avg("id")."<br>";

 

定位查询:

这些查询需要高级模型的支持:AdvModel

自定义高级模型:class UserModel  extends AdvModel()

自动切换为高级模型:switchModel(‘Adv’)->first()

        dump($user->first());

        dump($user->last());

        dump($user->getN(index));1,2,3,4,5,6

 

原生查询:

    query() 方法是用于 SQL 查询操作,和select()方法一样返回符合查询条件的数据集。

     execute()方法用于更新和写入数据的 SQL 操作(注:非查询操作,无返回数据集),返回影响的记录数。

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值