简介:laravel查询构造器接口(query builder),使用PDO参数绑定,保护应用程序免于SQL注入,可满足所有的数据库操作执行。
路由web.php
Route::any('User/query',['uses'=>'UserController@query']);
UserController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB;
class UserController extends Controller
{
public function query(){
// 1.查询构造器删除数据
//删除数据(必须家条件,如果不加生孩子没屁眼。)
$num = DB::table('user')->where('name','李建波')->delete();
var_dump($num);
//清空数据表(非常危险,但是重置ID)
DB::table('user')->truncate();
// 2.查询构造器查询数据
//查询数据get()获取所有数据
$str = DB::table('user')->get();
dd($str);
//查询数据first()获取第一条数据
$str = DB::table('user')->first();
dd($str);
//查询数据get()获取条件数据
$str = DB::table('user')->where('id','>=',20)->get();
dd($str);
//查询数据get()获取多条件数据
$str = DB::table('user')->whereRaw('id >= ? and age >= ?',[12,20])->get();
dd($str);
//查询数据pluck()获取多条件数据并且返回name字段
$str = DB::table('user')->whereRaw('id >= ? and age >= ?',[12,20])->pluck('name');
dd($str);
//5.6废弃功能
// $str = DB::table('user')->lists('name');
// dd($str);
//Select查询字段
$str = DB::table('user')->select('name','age')->get();
dd($str);
//chunk分段获取数据
DB::table('user')->orderBy('id')->chunk(2,function($users){});
dd($users);
DB::table('user')->orderBy('id')->chunk(3, function($users) {
echo "<pre>";
var_dump($users) ;
return false;//终止组块的运行
});
// 3.查询构造器修改数据
//更新数据
$str=DB::table('user')->where('id',32)->update(['age'=>88]);
var_dump($str);
//自增数据(必须加条件,不加条件会更新全表的age字段)
$str = DB::table('user')->where('id',12)->increment('age',3);//age为字段,3为自增量
var_dump($str);
//自减数据
$str = DB::table('user')->where('id',12)->decrement('age',4);//age为字段,4为自增量
var_dump($str);
//自减数据并修改其他字段
$str = DB::table('user')->where('id',12)->decrement('age',4,['name'=>'VN']);//age为字段,4为自增量
var_dump($str);
// 4.查询构造器增加数据
//得到ID
$id = DB::table('user')->insertGetId(
['name'=>'安妮','age'=>'13','create_time' =>time()]
);
//单条数据插入
var_dump($id);
$bool = DB::table('user')->insert(
['name'=>'安妮','age'=>'13','create_time' =>time()]
);
var_dump($bool);
//一次插入多条数组
$bool = DB::table('user')->insert([
['name'=>'安妮火女','age'=>'13','create_time' =>time()],
['name'=>'寒冰艾希','age'=>'33','create_time' =>time()],
['name'=>'皇子嘉文四世','age'=>'30','create_time' =>time()],
]);
var_dump($bool);
// 5.查询构造器聚合函数
$num = DB::table('user')->count();
var_dump($num);
//max()返回年龄字段中最大值 & min()返回年龄字段中最小值
$num = DB::table('user')->max('age');
var_dump($num);
//avg()返回年龄字段的平均数
$num = DB::table('user')->avg('age');
var_dump($num);
//sum()返回年龄字段的和
$num = DB::table('user')->sum('age');
var_dump($num);
}
}