1. 程式人生 > >Laravel摘記之DB類操作資料庫

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);