Vue 專案效能優化方案
阿新 • • 發佈:2020-11-24
資料庫相關的操作,大概看下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
歡迎訪問我的小程式: