zoukankan      html  css  js  c++  java
  • 查询表达式

    本节课我们要学习查询中的几种查询方式:比较查询、区间查询、其它查询等

     

    一.比较查询

    1.在查询数据进行筛选时,我们采用 where()方法
        public function show(){
            //where 过滤函数 第二个参数默认是=,不写就是等于
            $data=Db::table('user')->where('bid',3)->select();
            //下面的代码等价于上面的代码
            $data1=Db::table('user')->where('bid','=',3)->select();
            return json($data);
        }
    2.where(字段名,查询条件),where(字段名,表达式,查询条件);
    3.其中,表达式不区分大小写,包括了比较、区间和时间三种类型的查询;
    4.使用<>、>、<、>=、<=可以筛选出各种符合比较值的数据列表;
        public function show(){
    
            //查找user表中,bid大于3的
            $data=Db::table('user')->where('bid','>',3)->select();
            return json($data);
        }

    二.区间查询

    1.使用 like 表达式进行模糊查询;
        public function show(){
    
            //模糊查询,第二个参数如果为关键字like  则为模糊查询,查找bname 包含伟的
            $data=Db::table('user')->where('bname','like','%伟')->select();
            return Db::getlastsql();
            return json($data);
        }
    2.like 表达式还可以支持数组传递进行模糊查询;
        public function show(){
    
            //where 还可以传递数组,并且第四个参数 为查询条件,如果不指定为and
            //sql语句SELECT * FROM `user` WHERE (`bname` LIKE '%伟' OR `bname` LIKE '%玥')
            $data=Db::table('user')->where('bname','like',['%伟','%玥'],'or')->select();
            return Db::getlastsql();
            return json($data);
        }
    3.like 表达式具有两个快捷方式 whereLike()和 whereNoLike();
        public function show(){
    
            //wherelike函数 就相当于直接在where函数中,查询的条件为like
            $data=Db::table('user')->whereLike('bname','%伟')->select();
            return Db::getlastsql();
            //SELECT * FROM `user` WHERE `bname` LIKE '%伟'
            return json($data);
        }

    whereNotLike()函数就是不包含%伟的,这里就不演示了

    4.between 表达式具有两个快捷方式 whereBetween()和 whereNotBetween();
        public function show(){
            //使用where函数 表达式between
            // $data=Db::table('user')->where('bid','between','1,5')->select();
            $data=Db::table('user')->where('bid','between',[1,5])->select();
            //使用wherebetween函数
            $data=Db::table('user')->whereBetween('bid',[1,3])->select();
            //使用whereNotBetween函数
            $data=Db::table('user')->whereNotBetween('bid',[1,3])->select();
            return Db::getlastsql();
            //SELECT * FROM `user` WHERE `bname` LIKE '%伟'
            return json($data);
        }

     5.in 表达式具有两个快捷方式 whereIn()和 whereNotIn();

     

        public function show(){
           //query函数原生的sql查询语句
            $data=Db::table('user')->where('bid','in',"1,2,3")->select();
            // return Db::getlastsql();
            //SELECT * FROM `user` WHERE `bname` LIKE '%伟'
            return json($data);
        }
    Db::name('user')->whereIn('id','19,21,29')->select();
    Db::name('user')->whereNotIn('id','19,21,29')->select();

    6.query()函数,参数为原生的查询sql语句

        public function show(){
           //query函数原生的sql查询语句
            $data=Db::query("select * from user where bid=3 or bid=4");
            // return Db::getlastsql();
            //SELECT * FROM `user` WHERE `bname` LIKE '%伟'
            return json($data);
        }

    execute函数用于更新和写入数据的sql操作,如果数据非法或者查询错误则返回false,否则返回影响的记录数。

    使用示例:

    Db::execute("update think_user set name='thinkphp' where status=1");
    7.null 表达式具有两个快捷方式 whereNull()和 whereNotNull();
    Db::name('user')->where('uid','null')->select();
     Db::name('user')->where('uid','not null')->select(); Db::name('user')->whereNull('uid')->select();
     Db::name('user')->whereNotNull('uid')->select();

    三.其它查询

    1. 使用 exp 可以自定义字段后的 SQL 语句;
    Db::name('user')->where('id','exp','IN (19,21,25)')->select();
    Db::name('user')->whereExp('id','IN (19,21,25)')->select();
  • 相关阅读:
    以下文件中的行尾不一致。要将行尾标准化吗
    用户 NT AUTHORITYNETWORK SERVICE 登录失败
    sql server 2008 不允许保存更改,您所做的更改要求删除并重新创建以下表 的解决办法
    附加数据库对于服务器失败(Microsoft.SqlServer.Smo),无法升级数据库,因为它是只读的,或者具有只读文件
    IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决方法
    HTTP 错误 404.2
    vs智能提示突然消失的解决办法 (vs2008 vs2010 vs2012 智能提示)
    Visual Studio 常用快捷键
    403.14-Forbidden Web 服务器被配置为不列出此目录的内容及Login on failed for "IIS APPPOOLASP.NET v4.0"问题
    短信轰炸PC版
  • 原文地址:https://www.cnblogs.com/xiaowie/p/15232836.html
Copyright © 2011-2022 走看看