首页 技术 正文
技术 2022年11月14日
0 收藏 893 点赞 3,082 浏览 1790 个字

一、什么是查询构造器?

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

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

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

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

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

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

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

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,992
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,506
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,349
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,134
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,767
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,844