ThinkPHP 查询语言

<?php
namespace Home\Controller;
use Think\Controller;
class DataBaseController extends Controller {


    public function index(){
        $Form=M('Form');
        /*一, 使用字符串作为查询条件
        print_r($Form->where('id=4 AND title=123')->select()); */

        /*二, 使用数组作为查询条件
        $where['title']='insert';
        $where['create_time']=1472174461;
        print_r($Form->where($where)->select());*/

        /*OR AND查询 使用关键字:_logic
        $where['title']='inset';
        $where['create_time']=1472174461;
        $where['_logic']='OR';//ORAND
        print_r($Form->where($where)->select());*/

        /*三、使用对象方式来查询
        $where=new WHERE();
        $where->id=4;
        print_r($Form->where($where)->select());*/

        /*表达式查询 
                EQ  等于(=)
                NEQ 不等于(<>)
                GT  大于(>)
                EGT 大于等于(>=)
                LT  小于(<)
                ELT 小于等于(<=)
                LIKE    模糊查询
                [NOT] BETWEEN   (不在)区间查询
                [NOT] IN    (不在)IN 查询
                EXP 表达式查询,支持SQL语法*/
        //等于
        //$map['id']=array('eq',7);

        //BETWEEN 查询ID 4~6之间
        //$map['id']=array('BETWEEN','4,6');

        /*IN
        $map['id']=array('IN','6,8');
        $map['id']=array('NOT IN','6,8');
        print_r($Form->where($map)->select());*/

        /*EXP:表达式,支持更复杂的查询情况
        //exp查询的条件不会被当成字符串,所以后面的查询条件可以使用任何SQL支持的语法,包括使用函数和字段名称。查询表达式不仅可用于查询条件,也可以用于数据更新
        $data['title']='exp';
        $data['count']=array('exp','count+1');
        var_dump($Form->where('id=4')->save($data));*/

        //快捷查询 | or & and
        /* 不同列名 相同条件查询
        $map['id|count']=4;
        print_r($Form->where($map)->select());*/

        /*不同列名 不同条件查询
        $map['id&count']=array('4','3','_multi'=>true);
        print_r($Form->where($map)->select());*/

        /*同级查询
        echo $Form->count();
        // 获取用户数:
        $userCount = $User->count();
        // 或者根据字段统计:
        $userCount = $User->count("id");
        // 获取用户的最大积分:
        $maxScore = $User->max('score');
        // 获取积分大于0的用户的最小积分:
        $minScore = $User->where('score>0')->min('score');
        // 获取用户的平均积分:
        $avgScore = $User->avg('score');
        // 统计用户的总成绩:
        $sumScore = $User->sum('score');
        */

        /*SQL查询 query执行SQL查询操作
        print_r($Form->query('select * from think_form'));*/
        /*execute 更新 写入数据库操作
        echo $Form->execute('update think_form set count=5 where id=7');*/

        /*动态查询  getBy 根据字段的值查询数据  getFieldBy 根据字段查询并返回某个字段的值    */
        //print_r($Form->getByid(4));//By+列名 动态查询

        //getFieldBy 动态查询 By+列名 动态查询 参数1:值 参数2:返回查询列
        //print_r($Form->getFieldByid(4,'title'));

        /*子查询
        select方法
        $subQuery = $model->field('id,name')->table('tablename')->group('field')->where($where)->order('status')->select(false); 

        buildSql方法
        $subQuery = $model->field('id,name')->table('tablename')->group('field')->where($where)->order('status')->buildSql(); 
        // 利用子查询进行查询 
        $model->table($subQuery.' a')->where()->order()->select() 
        */
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值