Laravel摘記之DB類操作資料庫
laravel中的DB類為我們提供了兩個形式來操作資料庫
原生sql語句操作資料庫
構建器操作資料庫
建立測試控制器
(1)、執行原生 SQL 語句
配置好資料庫連線以後,DB類為我們提供select、update、insert、delete等方法,方便我們來操作執行sql語句。
①、新增操作(insert)
// 新增操作
$ret = DB::insert(‘insert into test_member (name,age,email) values
(:name,:age,:email)’,
[‘:name’=>’張三’,’:age’=>20,’:email’=>’admin\@admin.com’]);
var_dump($ret); # 新增成功返回為true,否則為false
②、修改操作(update)
// 修改操作
$ret = DB::update(‘update test_member set age=:age where id=:id’, [‘:age’ =>
12, ‘:id’ => 1]);
dd($ret);
③、刪除操作(delete)
// 刪除操作
#$ret = DB::delete(“delete from test_member where id=:id”,[‘:id’=>1]);
dd($ret);
注:刪除操作一定要寫條件,否則後臺很嚴重
④、查詢操作(select)並在模板中顯示
// 查詢 select
$ret = DB::select(“select * from web64_user”);
$ret = DB::select(“select * from web64_user where id>=:id”,[‘:id’=>$id]);
dump($ret);
(2)、DB構建器操作資料庫
Laravel
的資料庫查詢構造器提供了一個方便、流暢的介面,用來建立及執行資料庫查詢語句。它能用來執行應用程式中的大部分資料庫操作,且能在所有被支援的資料庫系統中使用。
Laravel 的查詢構造器使用 PDO 引數繫結,來保護你的應用程式免受 SQL 注入的攻擊。
①、查詢資料操作
table(表名),這裡的表名,如查有字首不用寫。
(一)、查詢多條記錄(get)
// 查詢多條無條件
// 查詢所有
$data = DB::table(‘user’)->get();
// 查詢所有,並指定欄位 推薦使第一種方式
$data = DB::table(‘user’)->get([‘name’,’age’]);
// 獲取ID大於5的資料
$ret = DB::table(‘member’)->where(‘id’,’>=’,5)->get();
dd($ret);
(二)、查詢單條記當(first)
// 查詢單條資料
$ret = DB::table(‘member’)->where(‘id’, 5)->first();
dd($ret);
(三)、獲取某個具體的值(value)
// 獲取某個具體的值
$ret = DB::table(‘member’)->where(‘id’,5)->value(‘name’);
dd($ret);
(四)、獲取一列資料(pluck)
// 獲取一列資料
$ret = DB::table(‘member’)->pluck(‘name’);
獲取資料庫表中指定列的資料
(五)、排序操作(orderBy)
// 排序 以ID來進行倒序排列
$ret = DB::table(‘member’)->orderBy(‘id’,’desc’)->get();
dd($ret);
(六)、總條目數
# 總條目數
echo ‘count: ‘;
echo DB::table(‘member’)->count();
(七)、分頁操作
此用法一般用於,介面和ajax分頁
// 分頁操作
$ret =
DB::table(‘member’)->orderBy(‘id’,’desc’)->offset(0)->limit(2)->get();
dd($ret);
②、新增資料操作(insert/ insertGetId)
對資料庫中的某個表增加資料主要有兩個函式可以實現,分別是insert()和insertGetId()
insert() 可以同時新增一條或多條,返回值是布林型別。
insertGetId() 只能新增一條資料,返回自增的id。
(一)、新增資料
// 新增資料
$ret = DB::table(‘member’)->insert([
‘name’ => ‘張三丰’,
‘age’ => 50,
‘email’ => ‘ee\@ee.com’
]);
dd($ret);
// 新增資料並得到插入時的ID值
$ret = DB::table(‘member’)->insertGetId([
‘name’ => ‘小華’,
‘age’ => 60,
‘email’ => ‘ff\@ff.com’
]);
// 新增多條記錄
$ret = DB::table(‘member’)->insert([
[‘name’=>’AAAA’,’age’=>20,’email’=>’111\@111.com’],
[‘name’=>’BBBB’,’age’=>30,’email’=>’222\@222.com’],
]);
dd($ret);
③、修改資料(update)
$ret = DB::table(‘member’)->where(‘id’, 2)->update([
‘name’ => ‘修改一下’,
‘age’ => 50
]);
dd($ret);
④、刪除資料(delete)
// 刪除資料
$ret = DB::table(‘member’)->where(‘id’,2)->delete();
dd($ret);