• Thinkphp的SQL查询方式


    一、普通查询方式

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

  • 相关阅读:
    Java集合(4):Iterator(迭代器)
    Java集合(3):Vector && Stack
    Java集合(2):LinkedList
    面试题29:顺时针打印矩阵
    面试题28:对称的二叉树
    面试题27:二叉树的镜像
    面试题26:树的子结构
    面试题24:反转链表
    面试题25:合并两个排序的链表
    面试题23:链表中环的入口结点
  • 原文地址:https://www.cnblogs.com/nul1/p/9457987.html
Copyright © 2020-2023  润新知