laravel(五)-laravel中的数据库原始查找

这篇博客介绍了laravel中的数据库操作,重点讲解了DB facade的使用,包括select、insert、update、delete和通用语句的执行。通过示例展示了如何进行原生SQL查询,如使用命名绑定防止SQL注入,以及如何获取查询结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

laravel提供三种数据库操作方式:

  1. DB facade(原始查找)
  2. 查询构造器
  3. Eloquent ORM

laravel数据库配置文件

应用的数据库配置位于 config/database.php 文件中。

laravel中的数据库原生操作(DB facade)

配置好数据库连接后,就可以使用 DB 来运行查询。 DB 为每种查询提供了相应方法: select, update, insert, delete, 和 statement 。

Select 查询
运行一个最基本的查询,可以使用DB的 select 方法:
$users = DB::select('select * from users where active = ?', [1]);
}

传递给 select 方法的第一个参数是原生的 SQL 语句,第二个参数需要绑定到查询的参数绑定,通常,这些都
是 where 字句约束中的值。参数绑定可以避免 SQL 注入攻击。
select 方法以数组的形式返回结果集,数组中的每一个结果都是一个 PHP StdClass 对象,从而允许你像下面
这样访问结果值:

foreach ($users as $user) {
    echo $user->name;
}
使用命名绑定

除了使用 ? 占位符来代表参数绑定外,还可以使用命名绑定来执行查询:

$results = DB::select('select * from users where id = :id', ['id' => 1]);
运行插入语句

使用 DB 的 insert 方法执行插入语句。和 select 一样,改方法将原生 SQL 语句作为第一个参数,将
绑定作为第二个参数:

DB::insert('insert into users (id, name) values (?, ?)', [1, 'Dayle']);
运行更新语句

update 方法用于更新数据库中已存在的记录,该方法返回受更新语句影响的行数:

$affected = DB::update('update users set votes = 100 where name = ?', ['John']);
运行删除语句

delete 方法用于删除数据库中已存在的记录,和 update 一样,该语句返回被删除的行数:

$deleted = DB::delete('delete from users');
运行一个通用语句

有些数据库语句不返回任何值,对于这种类型的操作,可以使用 DB 的 statement 方法:

DB::statement('drop table users');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值