laravel 修改數(shù)據(jù)庫

laravel是一款極受歡迎的php web應用程序框架,它提供了豐富的工具和功能,使開發(fā)人員能夠輕松構(gòu)建出高效、易于維護的web應用程序。而其中一個關(guān)鍵的功能就是與數(shù)據(jù)庫的交互操作。在使用laravel進行開發(fā)時,我們經(jīng)常需要對數(shù)據(jù)庫進行修改或者更新,本篇文章就將帶大家詳細了解laravel修改數(shù)據(jù)庫的相關(guān)操作。

一、Laravel數(shù)據(jù)庫遷移

Laravel提供了數(shù)據(jù)庫遷移(Migration)功能,使得我們可以輕松的管理數(shù)據(jù)庫的版本控制。通過數(shù)據(jù)庫遷移,我們可以定義數(shù)據(jù)庫表結(jié)構(gòu)的變化,并通過框架提供的命令快速遷移至新版本的數(shù)據(jù)庫。具體步驟如下:

  1. 創(chuàng)建數(shù)據(jù)庫遷移文件

Laravel的遷移文件存儲在database/migrations目錄下,我們可以使用Artisan命令來生成遷移文件。執(zhí)行以下命令可以創(chuàng)建一個名為create_users_table的遷移文件:

php artisan make:migration create_users_table

  1. 編寫遷移腳本

打開剛剛生成的遷移文件(位于database/migrations目錄下),可以看到有一個up函數(shù)和一個down函數(shù)。up函數(shù)用于執(zhí)行遷移操作,而down函數(shù)用于撤銷遷移操作。

我們可以在up函數(shù)中編寫創(chuàng)建數(shù)據(jù)庫表的腳本,例如:

Schema::create(‘users’, function (Blueprint $table) {
$table->increments(‘id’);
$table->String(‘name’);
$table->string(’email’)->unique();
$table->timestamp(’email_verified_at’)->Nullable();
$table->string(‘password’);
$table->rememberToken();
$table->timestamps();
});

該腳本將創(chuàng)建一個名為users的數(shù)據(jù)表,該表包含id、name、email、email_verified_at、password、remember_token和timestamps等7個字段。

  1. 運行遷移腳本

編寫完遷移腳本后,我們可以通過以下命令來運行遷移腳本:

php artisan migrate

此時,Laravel框架會自動根據(jù)我們編寫的腳本來創(chuàng)建表結(jié)構(gòu),如果數(shù)據(jù)庫中已經(jīng)存在了相關(guān)表,框架會自動跳過不會執(zhí)行。

二、Laravel數(shù)據(jù)庫填充

數(shù)據(jù)庫填充是Laravel提供的另一個重要功能,可以幫助我們在開發(fā)、測試和生產(chǎn)環(huán)境中用假數(shù)據(jù)填充數(shù)據(jù)庫。例如,當我們需要測試數(shù)據(jù)的查詢性能時,可以使用填充來填充大量數(shù)據(jù)。

  1. 創(chuàng)建數(shù)據(jù)填充文件

我們可以使用Artisan命令來創(chuàng)建填充文件,如下:

php artisan make:seeder UsersTableSeeder

  1. 編寫填充腳本

將編寫的填充腳本放到database/seeds目錄下,在UsersTableSeeder中編寫如下代碼:

use IlluminateDatabaseSeeder;
use IlluminateSupportFacadesDB;
use IlluminateSupportFacadesHash;
use IlluminateSupportStr;

class UsersTableSeeder extends Seeder
{

/**  * Run the database seeds.  *  * @return void  */ public function run() {     DB::table('users')->insert([         'name' => Str::random(10),         'email' => Str::random(10).'@gmail.com',         'password' => Hash::make('password'),     ]); }

}

該腳本會向users表中插入一條記錄,包含name、email、password三個字段,其中name和email字段的值是隨機生成的。

  1. 運行填充腳本

我們可以通過以下命令來運行填充腳本:

php artisan db:seed

此時,Laravel框架會自動調(diào)用我們編寫的填充腳本,然后將數(shù)據(jù)插入到users表中。

三、Laravel數(shù)據(jù)庫操作

除了使用數(shù)據(jù)庫遷移和數(shù)據(jù)填充來修改數(shù)據(jù)庫外,我們還可以使用Laravel提供的DB類來進行數(shù)據(jù)操作。

  1. 插入數(shù)據(jù)

DB::table(‘users’)->insert([

'name' => 'John Doe', 'email' => 'johndoe@example.com', 'password' => Hash::make('password'),

]);

該腳本會向users表中插入一條記錄,包含name、email、password三個字段,其中name和email字段的值都是指定的。

  1. 更新數(shù)據(jù)

DB::table(‘users’)

->where('id', 1) ->update(['votes' => 1]); 

該語句將會將id為1的記錄中的votes字段值設為1。

  1. 刪除數(shù)據(jù)

DB::table(‘users’)->where(‘votes’, ‘delete();

該語句將會刪除votes字段值小于100的所有記錄。

四、結(jié)語

本文介紹了Laravel如何修改數(shù)據(jù)庫,分別介紹了數(shù)據(jù)庫遷移、數(shù)據(jù)庫填充和數(shù)據(jù)庫操作等三種方式。Laravel中處理數(shù)據(jù)庫的簡單和高效性使其成為了流行的Web框架之一,對于開發(fā)人員來說,學習這些相關(guān)功能也是非常必要的。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊8 分享