thinkphp6.0学习笔记之数据库的查询表达式

本文是关于ThinkPHP6.0框架中数据库查询表达式的学习笔记,涵盖比较表达、区间查询和exp查询。通过where方法进行条件筛选,如id=1,支持<>、>等比较操作。区间查询部分,讲解了like、between、in和null表达式的用法,包括快捷方式。最后介绍了exp查询,允许自定义字段后的SQL语句。

一、比较表达

1、查询表达式支持大部分常用的sql语句,语法格式如下:

where('字段名','查询表达式','查询条件');

2、在进行数据筛选时,采用where方法,比如id=1

Db::name('user')->where('id', 80)
				->find();

3、 使用<>、>、<、>=、<=可以筛选出各种符合比较值的数据列表;

Db::name('user')->where('id','<>',80)
				->select();

二、区间查询

1、使用like表达式进行模糊查询:

Db:name("表名")->where('uname','like','%xiao%')
				->select();

2、like表达式还可以支持数组传递进行模糊查询

Db:::name('user')->where('email','like',['xiao%','wu%'], 'or')
				 ->select(); 
				 
SELECT * FROM `tp_user` WHERE (`email` LIKE 'xiao%' OR `email` LIKE 'wu%') //返回的sql语句

3、like表达式具有两个快捷方式whereLike()和whereNolike()

Db::name('user')->whereLike('email','xiao%')
				->select(); Db::name('user')
				->whereNotLike('email','xiao%')
				->select();

4、between表达式具有两个快捷方式whereBetween()和whereNotBetween();

Db::name('表名')->where('id','between','19,25')->select(); 
Db::name('表名')->where('id','between',[19, 25])->select(); 
Db::name('表名')->whereBetween('id','19,25')->select();
Db::name('表名')->whereNotBetween('id','19,25')->select();

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

Db::name('表名')->where('id','in', '19,21,29')->select(); 
Db::name('表名')->where('id','in', [19, 21, 29])->select();
Db::name('表名')->whereIn('id','19,21,29')->select(); 
Db::name('表名')->whereNotIn('id','19,21,29')->select();

6、null 表达式具有两个快捷方式 whereNull()和 whereNotNull()

Db::name('表名')->where('uname','null')->select(); 
Db::name('表名')->where('uname','not null')->select(); 
Db::name('表名')->whereNull('uname')->select(); 
Db::name('表名')->whereNotNull('uname')->select()

三、exp查询

1、使用exp可以自定义字段后面的sql语句

Db::name('user')->where('id','exp','IN (19,21,25)')->select(); 
Db::name('user')->whereExp('id','IN (19,21,25)')->select();
### ThinkPHP 6.0 入门教程概述 #### 环境配置 为了开始使用ThinkPHP 6.0,环境配置是一个重要的起点。选择ThinkPHP的一个重要原因在于其引入了Bootstrap机制,这使得框架更加灵活和易于扩展[^1]。 ```bash composer create-project topthink/think=6.* your_project_name ``` 这段命令可以帮助快速搭建项目基础结构并安装必要的依赖包。 #### 解决页面刷新不流畅的问题 当遇到页面刷新延迟的情况时,通常是因为PHP内置的缓存机制所致。对于运行于PHP 7.3.2版本下的应用来说,可以通过调整`php.ini`中的设置来改善这一状况。具体操作涉及定位到相应的配置文件路径,并对其进行适当修改以禁用或减少不必要的缓存行为[^2]。 #### 关联模型的应用实例 在实际开发过程中,关联模型是非常实用的功能之一。例如,在控制器中查询用户及其爱好信息可以这样实现: ```php $user = UserModel::find(1)->hobby; return json($user); ``` 上述代码片段展示了如何通过链式调用来获取指定ID用户的兴趣爱好数据,并将其转换成JSON格式返回给前端展示[^3]。 #### 数据库分页处理 针对大量数据记录的操作场景下,合理运用分页功能能够有效提升用户体验。以下是利用`page()`方法进行简单分页的例子: ```php // 获取第一页的数据,每页显示5条记录 Db::table('students')->page(1, 5)->select(); // 获取第二页的数据,同样每页显示5条记录 Db::table('students')->page(2, 5)->select(); ``` 此方式不仅简化了SQL语句编写过程,同时也提高了查询效率[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值