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);
大家学会了嘛(〃'▽'〃)
Laravel框架使用查询构造器实现CURD的更多相关文章
- [Laravel框架学习二]:Laravel的CURD和查询构造器的CURD,以及聚合函数
public function index() { //return Member::getMember();//这是调用模型的方法 return view('lpc',[ 'age'=>18, ...
- laravel中通过查询构造器,实现数据的curd
//查询构造器: public function query1(){ //利用查询构造器,插入数据: /*$num=DB::table('student')->insert( ['name'=& ...
- Laravel框架简单的用户管理[CURD]操作
一个基于laravel和bootstrap的简单的用户管理,适合刚入门的我们,在做的过程中可以加深自己对laravel基础理解,里面存在一些问题,还未修改,比如css和js的引入,表单提交地址等不规范 ...
- Laravel中的查询构造器
public function query(){ //新增数据 //$bool = DB::table('wd_user')->insert(['username'=>'jack']); ...
- Laravel框架数据库CURD操作、连贯操作使用方法
Laravel框架数据库CURD操作.连贯如何来操作了这个操作性是非常的方便简单了我们在这里来为各位介绍一篇相关的教程,具体的细节步骤如下文介绍. Laravel是一套简洁.优雅的PHP Web开 ...
- Laravel框架数据库CURD操作、连贯操作
这篇文章主要介绍了Laravel框架数据库CURD操作.连贯操作.链式操作总结,本文包含大量数据库操作常用方法,需要的朋友可以参考下 一.Selects 检索表中的所有行 $users = DB::t ...
- Laravel框架数据库CURD操作、连贯操作总结
这篇文章主要介绍了Laravel框架数据库CURD操作.连贯操作.链式操作总结,本文包含大量数据库操作常用方法,需要的朋友可以参考下 一.Selects 检索表中的所有行 复制代码代码如下: $use ...
- Laravel框架中的数据库CURD操作、连贯操作、链式操作的用法
Laravel是一套简洁.优雅的PHP Web开发框架(PHP Web Framework).它可以让你从面条一样杂乱的代码中解脱出来:它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁.富于 ...
- laravel查询构造器中别名的问题
Laravel框架对数据库的封装是比较完善的,用起来也比较方便.但之前有一个问题一直困扰着我,就是利用laravel作查询时.如果想给表名或是字段名起别名是比较麻烦的事.但翻阅它的文档不难发现,它提供 ...
随机推荐
- Tinyhttpd 代码学习
前阵子,参加了实习生面试,被面试官各种虐,问我说有没有读过一些开源的代码.对于只会用框架的我来说真的是硬伤啊,在知乎大神的推荐下在EZLippi-浮生志找了一些源代码来阅读,于是从小型入手,找了Tin ...
- Web前端和后端之区分,以及…
原文地址:Web前端和后端之区分,以及面临的挑战[转]作者:joyostyle 在我们实际的开发过程中,我们当前这样定位前端.后端开发人员. 1)前端开发人员:精通JS,能熟练应用JQuery,懂CS ...
- 转:【Java集合源码剖析】TreeMap源码剖析
前言 本文不打算延续前几篇的风格(对所有的源码加入注释),因为要理解透TreeMap的所有源码,对博主来说,确实需要耗费大量的时间和经历,目前看来不大可能有这么多时间的投入,故这里意在通过于阅读源码对 ...
- 个人作业-2 英语学习APP分析
产品: 必应词典 PC版 第一部分:调研,评测 1.对于这款产品的第一感觉是界面做的有点生硬粗糙,而且界面有种很空的感觉,界面美化做的不是很好,第一印象不是很喜欢.不过一点,就是把单词的近义词反义词放 ...
- 201521123076 《Java程序设计》第6周学习总结
1.本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 注1:关键词与内容不求多,但概念之间的联系要清晰,内容覆盖面 ...
- 201521123114《Java程序设计》第1周学习总结
1. 本周学习总结 java语言具有:简约且简单,平台无关性,面向对象,多线程.分布性.高性能.健壮性等特点. 2. 书面作业 1.为什么java程序可以跨平台运行?执行java程序的步骤是什么? J ...
- 201521123080《Java程序设计》第10周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 多线程: 内涵: 指的是这个程序(一个进程)运行时产生了不止一个线程 内存模型: main memory(主 ...
- 201521123074 《Java程序设计》第13周学习总结
1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 书面作业 Q1. 网络基础 参考:实验任务书-题目1 1.1 比较ping www.baidu.co ...
- 201521123053《Java程序设计》第十一周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 我还是比较喜欢XMind思维导图 延续上周对线程的知识点总结,对多线程知识点进行扩充. 知识点: synchron ...
- response 常用详解(1)
我们在创建Servlet时会覆盖service()方法,或doGet()/doPost(),这些方法都有两个参数,一个为代表请求的request和代表响应response. service方法中的re ...