首页  >  文章  >  后端开发  >  带你学习TP5中数据库的增删改查

带你学习TP5中数据库的增删改查

PHPz
PHPz原创
2023-04-19 09:18:421006浏览

在开发Web应用程序时,数据库操作是必不可少的。随着Web应用程序的逐渐成长,数据量也不断增大,因此数据库操作的效率和准确性就显得尤为重要。在PHP开发中使用的最为广泛的数据库操作框架就是TP5,下面我们就通过几个示例来具体学习TP5中数据库增、删、改、查的使用方法。

一、链接数据库

在TP5中链接数据库非常简单,只需要修改配置文件即可,打开config目录下的database.php文件,修改如下代码:

// 默认使用的数据库配置
return [
    // 数据库类型
    'type'        => 'mysql',
    // 服务器地址
    'hostname'    => 'localhost',
    // 数据库名
    'database'    => 'test',
    // 数据库用户名
    'username'    => 'root',
    // 数据库密码
    'password'    => '',
    // 数据库编码默认采用utf8
    'charset'     => 'utf8',
];

二、增加数据

使用TP5往数据库中增加数据的步骤包括创建模型、设置数据、添加数据。我们可以使用命令框架自动创建相应的模型,命令如下:

php think make:model User

创建完成后,我们可以打开项目下的app\model\User.php文件,可以看到默认生成了一个空的模型类:

<?php
namespace app\model;
use think\Model;

class User extends Model
{
}

接下来,我们需要设置数据并添加到数据库中,代码如下:

use app\model\User;

// 创建一个模型对象
$user = new User;

// 设置数据
$user->name = 'Tom';
$user->age = 18;

// 添加到数据库中
$user->save();

echo '添加成功';

save()方法会将数据写入库表中,并返回一个bool类型的返回值。

三、修改数据

要修改数据库中的数据,我们可以先通过模型类的get()方法获取指定的数据,并修改相应的属性后再通过save()方法保存到数据库中。代码如下:

use app\model\User;

// 获取指定ID的数据
$user = User::get(1);

// 修改数据
$user->name = 'Jerry';
$user->save();

echo '修改成功';

四、删除数据

删除数据可以通过模型的delete()方法实现,代码如下:

use app\model\User;

// 根据ID获取模型对象
$user = User::get(1);

// 删除数据
$user->delete();

echo '删除成功';

也可以使用模型的destroy()方法删除多条记录,代码如下:

use app\model\User;

// 删除多条数据
User::destroy([1,2,3]);

echo '删除成功';

五、查询数据

TP5的查询支持链式操作,极大程度的方便了我们的查询,并且为我们提供了大量的查询方法。以下是一些示例:

1.查询单条记录

use app\model\User;

$user = User::where('id',1)->find();
echo $user->name;

2.查询多条数据

use app\model\User;

$data = User::where('status',1)->select();
foreach ($data as $user) {
    echo $user->name.'<br>';
}

3.使用原生SQL查询

use think\Db;

$result = Db::query('SELECT * FROM USER WHERE id=?',[1]);
var_dump($result);

再次提醒大家,TP5的查询支持链式操作,一般我们可以通过链式操作来组合尽可能复杂的查询语句,从而减少内存和I/O的开销。

TP5的数据库操作是非常强大和方便的,只要掌握了一些基本的知识,就可以开始愉快的进行数据库操作了!

以上是带你学习TP5中数据库的增删改查的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn