tp笔记


9.查询表达式

### 一.比较查询
1. 在查询数据进行筛选时,我们采用 where()方法,比如 id=80;
    Db::name('user')->where('id', 80)->find();
    Db::name('user')->where('id','=',80)->find();
2. where(字段名,查询条件),where(字段名,表达式,查询条件);
3. 其中,表达式不区分大小写,包括了比较、区间和时间三种类型的查询;
4. 使用<>、>、<、>=、<=可以筛选出各种符合比较值的数据列表;
Db::name('user')->where('id','<>',80)->select();  //查询id不等于80的数据
### 二.区间查询
1. 使用 like 表达式进行模糊查询;
    Db::name('user')->where('email','like','xiao%')->select(); //email为字段名
2. like 表达式还可以支持数组传递进行模糊查询;
    Db::name('user')->where('email','like',['xiao%','wu%'], 'or')->select();
    SELECT * FROM `tp_user` WHERE (`email` LIKE 'xiao%' OR `email` LIKE 'wu%')
3. like 表达式具有两个快捷方式 whereLike()和 whereNotLike();//where 加上 Not 的为不查询的数据
    Db::name('user')->whereLike('email','xiao%')->select();
    Db::name('user')->whereNotLike('email','xiao%')->select();
4. between 表达式具有两个快捷方式 whereBetween()和 whereNotBetween();
    Db::name('user')->where('id','between','19,25')->select();
    Db::name('user')->where('id','between',[19, 25])->select();
    Db::name('user')->whereBetween('id',[19, 25])->select();
    Db::name('user')->whereNotBetween('id',[19, 25])->select();
5. in 表达式具有两个快捷方式 whereIn()和 whereNotIn();//where 加上 Not 的为不查询的数据
    Db::name('user')->where('id','in', '19,21,29')->select();
    Db::name('user')->whereIn('id','19,21,29')->select();
    Db::name('user')->whereNotIn('id','19,21,29')->select();
6. null 表达式具有两个快捷方式 whereNull()和 whereNotNull(); //where 加上 Not 的为不查询的数据
    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();

页面列表

ITEM_HTML