首頁  >  文章  >  後端開發  >  帶你學習TP5中資料庫的增刪改查

帶你學習TP5中資料庫的增刪改查

PHPz
PHPz原創
2023-04-19 09:18:421006瀏覽

在開發網頁應用程式時,資料庫操作是必不可少的。隨著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