Laravel摘记之DB类操作数据库

laravel中的DB类为我们提供了两个形式来操作数据库

  • 原生sql语句操作数据库

  • 构建器操作数据库

创建测试控制器

这里写图片描述

(1)、运行原生 SQL 语句

配置好数据库连接以后,DB类为我们提供select、update、insert、delete等方法,方便我们来操作执行sql语句。

①、添加操作(insert)

// 添加操作

$ret = DB::insert(‘insert into test_member (name,age,email) values
(:name,:age,:email)’,
[‘:name’=>’张三’,’:age’=>20,’:email’=>’admin\@admin.com’]);

var_dump($ret); # 添加成功返回为true,否则为false

②、修改操作(update)

// 修改操作

$ret = DB::update(‘update test_member set age=:age where id=:id’, [‘:age’ =>
12, ‘:id’ => 1]);

dd($ret);

③、删除操作(delete)

// 删除操作

#$ret = DB::delete(“delete from test_member where id=:id”,[‘:id’=>1]);

dd($ret);

注:删除操作一定要写条件,否则后台很严重

④、查询操作(select)并在模板中显示

// 查询 select

$ret = DB::select(“select * from web64_user”);

$ret = DB::select(“select * from web64_user where id>=:id”,[‘:id’=>$id]);

dump($ret);

(2)、DB构建器操作数据库

Laravel
的数据库查询构造器提供了一个方便、流畅的接口,用来创建及运行数据库查询语句。它能用来执行应用程序中的大部分数据库操作,且能在所有被支持的数据库系统中使用。

Laravel 的查询构造器使用 PDO 参数绑定,来保护你的应用程序免受 SQL 注入的攻击。

①、查询数据操作

table(表名),这里的表名,如查有前缀不用写。

(一)、查询多条记录(get)

// 查询多条无条件

// 查询所有

$data = DB::table(‘user’)->get();

// 查询所有,并指定字段 推荐使第一种方式

$data = DB::table(‘user’)->get([‘name’,’age’]);

// 获取ID大于5的数据

$ret = DB::table(‘member’)->where(‘id’,’>=’,5)->get();

dd($ret);

(二)、查询单条记当(first)

// 查询单条数据

$ret = DB::table(‘member’)->where(‘id’, 5)->first();

dd($ret);

(三)、获取某个具体的值(value)

// 获取某个具体的值

$ret = DB::table(‘member’)->where(‘id’,5)->value(‘name’);

dd($ret);

(四)、获取一列数据(pluck)

// 获取一列数据

$ret = DB::table(‘member’)->pluck(‘name’);

获取数据库表中指定列的数据

(五)、排序操作(orderBy)

// 排序 以ID来进行倒序排列

$ret = DB::table(‘member’)->orderBy(‘id’,’desc’)->get();

dd($ret);

()、总条目数

# 总条目数

echo ‘count: ‘;

echo DB::table(‘member’)->count();

(七)、分页操作

此用法一般用于,接口和ajax分页

// 分页操作

$ret =
DB::table(‘member’)->orderBy(‘id’,’desc’)->offset(0)->limit(2)->get();

dd($ret);

②、添加数据操作(insert/ insertGetId)

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

insert() 可以同时添加一条或多条,返回值是布尔类型。

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

(一)、添加数据

// 添加数据

$ret = DB::table(‘member’)->insert([

‘name’ => ‘张三丰’,

‘age’ => 50,

‘email’ => ‘ee\@ee.com’

]);

dd($ret);

// 添加数据并得到插入时的ID值

$ret = DB::table(‘member’)->insertGetId([

‘name’ => ‘小华’,

‘age’ => 60,

‘email’ => ‘ff\@ff.com’

]);

// 添加多条记录

$ret = DB::table(‘member’)->insert([

[‘name’=>’AAAA’,’age’=>20,’email’=>’111\@111.com’],

[‘name’=>’BBBB’,’age’=>30,’email’=>’222\@222.com’],

]);

dd($ret);

③、修改数据(update)

$ret = DB::table(‘member’)->where(‘id’, 2)->update([

‘name’ => ‘修改一下’,

‘age’ => 50

]);

dd($ret);

④、删除数据(delete)

// 删除数据

$ret = DB::table(‘member’)->where(‘id’,2)->delete();

dd($ret);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值