laravel常用操作库DB类的使用

DB 类是 Laravel 中用于数据库操作的核心类之一。

在laravel中引用的是Facades下面的DB use Illuminate\Support\Facades\DB;

DB类的增删改查

增加信息

对数据库中的某个表增加数据主要有俩个函数可以实现,分别是insert()和insertGetId()

insert(数组)可以同时添加一条或多条数据,返回值是true或false

insertGetId(一维数组),只能添加一条数据,返回自增的id

注意:DB:table('表名')这里需要注意的是可能你的配置文件设置了去除表前缀

说明:数组里的元素要求是键值对的关系,键就是数据表中的字段名。

   $res = DB::table("goods")->insertGetId(["goods_name"=>"黑米手机","goods_price"=>99]);
        dd($res);

修改信息

数据修改可以使用update()、increment()和decrement()函数来实现。Update表示可以修改整个记录中的全部字段;Increment和decrement表示修改数字字段的数值(递增或递减),使用场景:记录登录次数,积分的增加;

->where()->update([])Where语法:

->where(字段,运算符,值)如果运算符为“=”,则第二个参数可以不写

其返回的结果·表示受影响的行数

DB::table('member')->increment('votes'); 每次+1
DB::table('member')->increment('votes', 5); 每次+5
DB::table('member')->decrement('votes'); 每次-1
DB::table('member')->decrement('votes', 5); 每次-5
  $res = DB::table("goods")->where(["id"=>5])->update(["goods_name"=>"白米手机"]);
        dd($res);

注意:where方法之后可以继续调用where之类的方法。
-> where() -> where() -> where().. 这个语法是并且(and)关系语法。
-> where() -> orWhere() -> orWhere()… 这个语法是或者(or)关系语法。
Orwhere方法的参数与where一致。
Where参数顺序:
-> where(字段名,运算符,字段值)。
扩展:
-> where([‘id’ => 1]);
注意:where与update方法的顺序是不能颠倒的,update必须在最后。
●自增,自减 increment()和decrement()
DB::table(' member')->where()->increment('age'); 每次+1
DB::table(' member')->increment('age', 5); 每次+5
DB::table(' member')->decrement('age'); 每次-1
DB::table(' member')->decrement('age', 5); 每次-5

查询数据(get)

取出基本数据

DB::table('member')->get();//相当于select * from member;返回值是一个集合对象,

Get查询的结果每一行的记录是对象的形式,不是数组。

->where()->get();

注意:where方法之后继续调用where方法。

->where()->where()->where()...这个语法是and的关系

->where()->orWhere()...这个语法是或者(or)的关系(与where方法的参数一致)

取出单行数据

DB::table('member')->where('id','1')->first();//返回值是一个对象 等价于limit 1

获取某个具体的值

DB::table('member')->where('id','1')->value('name');

获取某些字段数据(多个字段)

$users = DB::table('member')->select('name', 'email')->get();
$users = DB::table('member')->select('name as user_name’)->get();

排序操作(ASC,DESC)

DB::table(‘member’)->orderBy(‘age’,‘desc’)->get();

分页操作

DB::table(‘member’)->limit(3)->offset(2)->get();
Limit:表示限制输出的条数
Offset:从什么地方开始 组合起来等价于limit 3,2

删除数据

物理删除

本质就是删除

可以通过delete函数和truncate函数实现、delete表示删除记录;Truncate表示清空整个数据表

DB::table(‘table_name’)->where(‘id’,‘1’)->delete(); 返回值表示受到影响的行数

语法:DB::table(‘member’) -> truncate();

逻辑删除(软删除)

本质就是修改,例如修改某一个数据为空(一般是用时间戳)

执行任意的sql语句

(1)执行原生查询语句DB::select(“select语句”);
(2)执行原生插入语句DB::insert("insert语句");
(3)执行原生修改语句DB::update("update语句");
(4)执行原生删除语句DB::delete("delete语句");
(5)执行一个通用语句(没有返回值的语句,例如:create table等)DB::statement("语句");

后续还有很多常用的后面会一一列举出来,希望各位友友们好好学习!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值