laravel学习笔记之查询构造器

通过路由访问控制器,来进行与数据库的交互
首先在.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);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值