通过路由访问控制器,来进行与数据库的交互
首先在.evn文件里面进行数据库的配置
然后代码如下:
#route.php
Route::get('query1','StudentController@query1');
Route::get('query2','StudentController@query2');
Route::get('query3','StudentController@query3');
Route::get('query4','StudentController@query4');
#StudentController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB;
class StudentController extends Controller{
public function test1(){
//查询数据库
//$student = DB::select('SELECT *FROM student');
//var_dump($student);
//我也不知道dd是什么鬼,但是输出会变得好看
//dd($student);
//插入数据--返回的是布尔值
//$bool = DB::insert('INSERT student(name,age) VALUES(?,?)',['sjh',23]);
//print_r($bool);
//修改数据--返回的是修改的行数
//$num = DB::update('UPDATE student SET age=? WHERE id=?',[21,1001]);
//print_r($num);
//删除数据--返回删除的行数
//$num = DB::delete('DELETE FROM student WHERE id=?',[1001]);
//print_r($num);
}
//1.查询构造器query--插入数据
public function query1(){
//$bool = DB::table('student')->insert(['name'=>'gwr','age'=>44]);
//print_r($bool);
////插入的同时获取id
//$bool = DB::table('student')->insertGetId(['name'=>'www','age'=>22]);
//print_r($bool);
//多维数组插入多条数据
//$bool = DB::table('student')->insert(
//['name'=>'qq','age'=>33],
//['name'=>'qw','age'=>22]
//);
//print_r($bool);
}
//2.查询构造器query--修改数据
public function query2(){
//更新成指定内容
//$num = DB::table('student')->where('id',1004)->update(['age'=>66]);
//var_dump($num);
//全部自增3 默认1
//$num = DB::table('student')->increment('age',3);
//var_dump($num);
//全部自减3 默认1
//$num = DB::table('student')->decrement('age',3);
//var_dump($num);
//条件约束自增2
//$num = DB::table('student')->where('id',1004)->increment('age',2);
//var_dump($num);
//条件约束自减2
//$num = DB::table('student')->where('id',1004)->decrement('age',2);
//var_dump($num);
//自增的同时修改其他字段
//$num = DB::table('student')->where('id',1004)->increment('age',4,['name'=>'peter']);
//var_dump($num);
}
//3.使用查询构造器删除数据
public function query3(){
//删除所有
//$num = DB::table('student')->delete();
//删除指定
$num = DB::table('student')
//->where('id','>=',1002)
->where('id',1002)
->delete();
var_dump($num);
}
//4.使用查询构造器查询
public function query4(){
//get()获取表的所有数据
//$student = DB::table('student')->get();
//first()获取第一行数据并通过orderBy进行排序
//$student = DB::table('student')->orderBy('id','desc')->first();
//多条件限制查询
//$student = DB::table('student')->whereRaw('id >= ? and age >= ?',[1004 ,18])->get();
//pluck()查询指定字段
//$student = DB::table('student')->pluck('name','id');
//select()查询多个字段的值
//$student = DB::table('student')->select('id','name','age')->get();
//chunk()分段查询 适用于数据量特别大的时候 每次查两个,直到查完为止
$student = DB::table('student')->chunk(2,function($student){
var_dump($student);
/* if(条件){
return false;//满足条件 跳出查询
}*/
});
//dd($student);
}
//5.使用查询构造器进行聚合函数查询
public function query5(){
//count()函数
//$num = DB::table('student')->count();
//max() min()函数
//$num = DB::table('student')->max('age');
//$num = DB::table('student')->min('age');
//avg()函数
//$num = DB::table('student')->avg('age');
//sum()函数
$num = DB::table('student')->sum('age');
print_r($num);
}
}