Laravel框架使用查询构造器实现CURD

一、什么是查询构造器?

  ①Laravel 查询构造器(query Builder)提供方便,流畅的接口,用来建立及执行数据库查找语法

  ②使用PDO参数绑定,以保护应用程序免于SQL注入因此传入的参数不需额外转义特殊字符

  ③基本可以满足所有的数据库操作,而且在所有支持的数据库系统上都可以执行

 

  *这里所有的例子student表为例

  

二、C -- Create(新建)

  如何使用查询构造器添加数据:

  添加数据的结果返回的是bool类型

  $bool = DB::table('student')->insert(['name' => '肖潇','age' => 17]);

  var_dump($bool);  //输出结果

  //insertGetId -- 新增一条数据并获取主键值,返回的是主键值

  $id = DB::table('student')->insertGetId(['name' => '未央','age' => 20]);

  var_dump($id);  //输出结果

  //批量添加数据

  $bool = DB::table('student')->insert([

    ['name' => '上官娜','age' => 19],

    ['name' => '楚乔','age' => 20],

    ['name' => '慕容晓晓','age' => 21]

  ]);

  var_dump($bool);  //输出结果

三、U -- Update(更新)

  如何使用查询构造器更新数据:

  更新返回的结果是受影响行数

  $num = DB::table('student')->where('id',1001)->update(['age' => 22]);

  var_dump($num);

四、R -- Retrieve(读取)

  如何使用查询构造器读取数据:

  ①$students = DB::table('student')->get();  //查询全部数据

  ②$student = DB::table('student')->first();  //返回结果集的第一条数据

  ③$students = DB::table('student')->whereRaw('id > ? and age >= ?',[1001,20])->get();  //多条件查询

  ④$names = DB::table('student')->pluck('name');  //获取指定字段的所有值

  ⑤$names = DB::table('student')->lists('name','id');  //可以指定某个值作为下标  这里name的下标就是id

  ⑥$students = DB::table('student')->select('id','name','age')->get();  //指定查询的字段

  ⑦echo "<pre>";  //每次查询n条记录

   DB::table('student')->chunk(n ,function ($students)

    {

     var_dump($students);

    }

   );

五、D -- Delete(删除)

  如何使用查询构造器删除数据:

  返回的是受影响行数

  $num = DB::table('student')->where('id',1003)->delete();

  var_dump($num);

六、拓展

  (1)利用查询构造器自增数据

      //自增 默认自增1

      $num = DB::table('student')->increment('age');

      //可指定自增的数量   n--自增数量

      $num = DB::table('student')->increment('age',n);

      var_dump($num);

  (2)利用查询构造器自减数据

      //自减 默认自减1

      $num = DB::table('student')->decrement('age');

      //指定自减的数量   n--自减数量

      $num = DB::table('student')->decrement('age',n);

      var_dump($num);

大家学会了嘛(〃'▽'〃)

posted @ 2017-10-13 14:58  ʚ一只咩ɞ  阅读(367)  评论(5编辑  收藏  举报