前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Laravel数据库操作之DB facade

Laravel数据库操作之DB facade

作者头像
sinnoo
发布2020-11-13 15:58:06
7020
发布2020-11-13 15:58:06
举报
文章被收录于专栏:技术人生技术人生

一、查询操作

代码语言:javascript
复制
$student=DB::select("select * from user");
// 返回一个二维数组  $student
var_dump($student);
// 以节点树的形式输出结果
dd($student);

构造器

代码语言:javascript
复制
// get()返回多条数据
$student=DB::table("user ")->get();
 var_dump($student);  
// first()返回1条数据
$student=DB::table("user ")->first();  //结果集第一条记录
$student=DB::table("user ")->orderBy('ID','desc')->first();//按ID倒序排序
var_dump($student);  
// where()条件查询
$student=DB::table("user ")->where('ID','>=',2)->get(); //一个条件   
$student=DB::table("user ")->whereRaw('ID> ? and age>= ?',[2,10])->get(); //多个条件
dd($student);
// pluck()指定字段,后面不加get
$student=DB::table("user ")->pluck('name');
dd($student);
// lists()指定字段,可以指定某个字段作为下标
$student=DB::table("user ")->lists('name','ID');   //指定ID为下标
dd($student);
$student=DB::table("user ")->lists('name');   //不指定下标,默认下标从0开始
// select()指定某个字段
$student=DB::table("user ")->select('name','ID')->get();
dd($student);
// chunk()每次查n条
$student=DB::table("user ")->chunk(2,function($user){  //每次查2条
    var_dump($user);
    if(.......) return false;  //在满足某个条件下使用return就不会再往下查了
});

# 使用聚合函数
// count()统计记录条数
$nums=DB::table("user ")->count();
echo $nums;
// max()某个字段的最大值,同理min是最小值
$max=DB::table("user ")->max("age");
echo $max;
// avg()某个字段的平均值
$avg=DB::table("user ")->avg("age");
echo $avg;
// sum()某个字段的和
$sum=DB::table("user ")->sum("age");
echo $sum;

二、新增操作

代码语言:javascript
复制
第一个参数是sql语句,第二个参数是一个数组,数组里的元素分别对应sql语句里的问号
$bool=DB::insert("insert into user(name,sex,age) values(?,?,?)",['小明','女',670]);
var_dump($bool);
// 新增成功则返回true。

构造器

代码语言:javascript
复制
$bool=DB::table("user")->insert(['name'=>'小明','sex'=>'女','age'=>20]);
echo $bool;  //返回bool值
 //如果想得到新增的id,则使用insertGetId方法
  $id=DB::table("user")->insertGetId(['name'=>'小明','sex'=>'女','age'=>20]);
  echo $id;
 //插入多条数据
 $bool=DB::table("user")->insert([
        ['name'=>'小明','sex'=>'女','age'=>20],
        ['name'=>'小红','sex'=>'男','age'=>21],
]);
echo $bool;  //返回bool值

三、更新操作

代码语言:javascript
复制
第一个参数是sql语句,第二个参数是一个数组,数组里的元素分别对应sql语句里的问号
$bool=DB::update('update user set age= ? where ID= ? ',[20,5]);
var_dump($bool); 
 //更新成功返回true

构造器

代码语言:javascript
复制
$bool=DB::table("user")->where('ID',6)->update(['age'=>30]);
echo $bool;
//自增
$bool=DB::table("user")->where('ID',6)->increment("age");// 年龄加1
$bool=DB::table("user")->where('ID',6)->increment("age",3);// 年龄加3
echo $bool;
//自减
$bool=DB::table("user")->where('ID',6)->decrement("age");// 年龄减1
$bool=DB::table("user")->where('ID',6)->decrement("age",3);// 年龄减3
echo $bool;
//自增时再修改其他字段
$bool=DB::table("user")->where('ID',6)->increment("age",3,['name'=>'小强']);

四、删除操作

代码语言:javascript
复制
第一个参数是sql语句,第二个参数是一个数组,数组里的元素分别对应sql语句里的问号
$num=DB::delete('delete from user where ID= ?',[5]);
echo $num;

构造器

代码语言:javascript
复制
$num=DB::table("user")->where('ID',6)->delete();// 删除1条
$num=DB::table("user")->where('ID','>',4)->delete();// 删除多条
echo $num;  //删除的行数
$num=DB::table("user")->truncate();// 删除整表,不能恢复,谨慎使用
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档