1. 程式人生 > 實用技巧 >Vue 專案效能優化方案

Vue 專案效能優化方案

資料庫相關的操作,大概看下laravel封裝的增刪改查的資料庫操作方法以及laravel對原生sql的支援。

一:執行原生sql

1:查詢select

$results = DB::select('select * from users where id = ‘{$id}’');

2:寫入

$result = DB::insert('insert into users (id, name) values (‘{$id}’, ‘{$name}’)');

3:修改,該方法返回受更新語句影響的行數:

$affected = DB::update('update users set votes = 100 where name = ‘{$name}’');

4:刪除,該語句返回被刪除的行數:

$deleted = DB::delete('delete from users');

5:執行一些沒有返回值的語句,比如新增表,修改表,刪除表等

DB::statement('drop table users');

二:資料庫事務

1:開啟事務

DB::beginTransaction();

2:回滾事務

DB::rollBack();

3:提交事務

DB::commit();

三:laravel封裝的資料庫方法

1:查詢

太複雜的查詢建議直接寫原生SQL。

(1):只查一條資料first()方法

$user = DB::table('users')->where('name', '{$name}')->first();

(2):查詢結果集

$users = DB::table('users')->get();

(3):查詢指定欄位的結果集

$users = DB::table('users')->select('name', 'email as user_email')->get();

(4):聚合函式

$users = DB::table('users')->count();

(5):distinct 方法允許你強制查詢返回不重複的結果集:

$users = DB::table('users')->distinct()->get();

(6):內連線

$users = DB::table('users')
            ->join('contacts', 'users.id', '=', 'contacts.user_id')
            ->join('orders', 'users.id', '=', 'orders.user_id')
            ->select('users.*', 'contacts.phone', 'orders.price')
            ->get();
 

(7):左/右連結

$users = DB::table('users')
            ->leftJoin('posts', 'users.id', '=', 'posts.user_id')
            ->get();
  
$users = DB::table('users')
            ->rightJoin('posts', 'users.id', '=', 'posts.user_id')
            ->get();
 

(8):交叉連結

$users = DB::table('sizes')
        ->crossJoin('colours')
        ->get();
 

(9):where查詢(多個條件並聯查詢直接拼接就可以)

$users = DB::table('users')
            ->where('votes', '>=', 100)
            ->where(id, '>=', 100)
            ->get();

(10):where查詢 或者OR

$users = DB::table('users')
                ->where('votes', '>', 100)
                ->orWhere('name', 'John')
                ->get();

(11):排序orderBy

$users = DB::table('users')
        ->orderBy('name', 'desc')
        ->get();
 

(12):分組groupBy

$users = DB::table('users')
        ->groupBy('account_id')
        ->get();

2:寫入資料

(1):單條寫入

DB::table('users')->insert(
    ['email' => '[email protected]', 'votes' => 0]
);
 

(2):多條寫入

DB::table('users')->insert([
    ['email' => '[email protected]', 'votes' => 0],
    ['email' => '[email protected]', 'votes' => 0]
]);

(3):寫入並獲取自增id

$id = DB::table('users')->insertGetId(
    ['email' => '[email protected]', 'votes' => 0]
);

3:更新資料

(1):更新

DB::table('users')
    ->where('id', 1)
    ->update(['votes' => 1]);

(2):更新或寫入

DB::table('users')
    ->updateOrInsert(
        ['email' => '[email protected]', 'name' => 'John'],
        ['votes' => '2']
    );

4:刪除

(1):清空整張表

DB::table('users')->delete();

(2):指定條件刪除

DB::table('users')->where('votes', '>', 100)->delete();

(3):清空整張表並設定自增id為0

在這裡插入程式碼片

資料庫的操作,大概就是這些。

有好的建議,請在下方輸入你的評論。

原文連結:https://guanchao.site/index/article/articledetail.html?artid=4oNH1sLPG

歡迎訪問我的小程式: