SQL查询

配置好数据库连接后,可以使用 DB facade 运行查询。DB facade 为每种类型的查询提供了方法:select、update、insert、delete 和 statement。

select查询数据

1234567891011121314
use Illuminate\Support\Facades\DB;

//select方法一$users = DB::select('select * from users where active = ?', [1]);

//(1)传递到 select 方法的第一个参数是一个原生的 SQL 查询,而第二个参数则是传递需要绑定到查询中的参数值。通常,这些是 where 子句约束的值。参数绑定提供了对防止 SQL 注入的保护。//(2)select 方法将始终返回一个数组。数组中的每个结果都是一个PHP StdClass 对象,可以像下面这样访问结果的值:

foreach ($users as $user) {    echo $user->name;}

//select方法二$results = DB::select('select * from users where id = :id', ['id' => 1]);

增删改方法

123456789101112
use Illuminate\Support\Facades\DB;

//可以在 DB facade 上使用 insert 方法来执行 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');

laravel数据库事务

可以在 DB facade 上使用 transaction 方法来运行数据库事务中的一组操作。如果在事务 Closure 中发生了异常,事务将自动回滚。而如果 Closure 成功执行,事务将自动被提交。也就是说,使用数据库事务,你就不需要在数据库语句执行发生异常时手动回滚或提交。

12345678910111213141516171819202122
// (1)如果在事务 Closure 中发生了异常,事务将自动回滚,否则事务自动提交DB::transaction(function () {    DB::table('users')->update(['votes' => 1]);

    DB::table('posts')->delete();});

// (2)处理死锁,第二个参数定义在发生死锁时应该重新尝试事务的次数。一旦尝试次数都用尽了,就会抛出一个异常:DB::transaction(function () {    DB::table('users')->update(['votes' => 1]);

    DB::table('posts')->delete();}, 5);

// (3)手动开始一个事务,并且能够完全控制回滚和提交DB::beginTransaction();

//可以通过 rollBack 方法回滚事务:DB::rollBack();

//最后记得要通过 commit 方法提交事务:DB::commit();

注意:DB facade 的事务方法也适用于 查询语句构造器 和 Eloquent ORM 的事务。

laravel数据库相关操作相关推荐

  1. 导学+初识MySQL+SQL语法规范+数据库相关操作+表相关操作+MySql存储引擎介绍+MySQL表的创建+测试数据类型

    一.导学 1.什么是SQL? 结构化查询语言,数据库管理系统通过SQL语言来管理数据库中的数据: 2.SQL语言组成部分 (1)DDL--数据定义语言,主要定义数据库.表.视图.索引和触发器等 (2) ...

  2. Hive数据类型、数据库相关操作、表的相关操做、数据的导入导出

    文章目录 Hive数据类型 1.基本数据类型 2.集合数据类型 案例实操 3.类型转化 数据库的相关操作 1.创建数据库 2.查询数据库 3.修改数据库 4.删除数据库 表的相关操作 1.建表 2.管 ...

  3. Django 数据库相关操作 (六)

    前言 上篇已经介绍过模型相关操作,并创建好了数据库及相关表字段,接下来将通过以下表在Django中进行表数据的增删改查. from django.db import modelsclass Stude ...

  4. python数据库环境详解_python中MySQL数据库相关操作

    一 安装基本环境 1 简介 MySQL 基于TCP 协议之上的开发,但是网络连接后,传输的数据必须遵循MySQL的协议,封装好MySQL协议的包,就是驱动程序 MySQL 的驱动 MySQLDB 最有 ...

  5. mysql数据库相关操作

    1.进入mysql/bin目录下输入mysqladmin processlist; 2.启动mysql,输入show processlist; 如果有 SUPER 权限,则可以看到全部的线程,否则,只 ...

  6. Mysql(4)——数据库相关操作

    (1)查看所有数据库 (2)创建数据库 create database 数据库名 charset=utf8 (3)使用数据库并且查看当前使用的是哪个数据库 (4)删除数据库

  7. laravel数据库相关操作说明

    输出原生sql: DB::table('users')->where([['name','=','张三']])->toSql(); //输出sql为:select * from users ...

  8. easyswoole 数据库相关操作集合大复盘

    初始化ORM连接池 1.在dev.php 配置文件中配置其MYSQL数据库连接配置 <?php return ['MYSQL' =>['host' => '','port' => ...

  9. DB2数据库相关操作

    自增字段的创建 create SEQUENCE ftpapp.LINKAGE_SEQ AS INTEGER MINVALUE 1 MAXVALUE 2147483647 START WITH 1 IN ...

最新文章

  1. SNMP AGENT函数介绍
  2. android中的常用方法,android开发中常用方法总结
  3. 多线程安全问题产生解决方案
  4. 关于业务用例抽象问题对网友的回复
  5. HR招聘_(二)_招聘方法论(招聘原因及原则)
  6. 前端小白程序员入门之前知道这些,半年后都拿到8K+的offer
  7. dataimagepng php_PHP decode data:image/png;base64
  8. Linux下通过HostName访问主机以及修改HostName方法
  9. 计算机二级考试c语言 上机,计算机等级考试二级C语言上机题[2]
  10. 在线HTTP POST/GET接口测试工具
  11. js常用插件(八)之移动端滑动插件swiper,BScroll
  12. 上位机plc编程入门_PLC与上位机的通信-plc上位机程序开发
  13. 计算机视觉c刊论文,摄影外文文献 摄影核心期刊参考文献哪里找
  14. Java常用加密解密算法全解
  15. 运算符(一元 二元)
  16. springboot 2.x升级后出现Spring Security – There is no PasswordEncoder mapped for the id “null”的解决方案
  17. windows下合并多个txt,文件
  18. 计算机辅助工艺设计相关相接系统,计算机辅助工艺设计——人工智能技术ppt
  19. 个人主页HTML源码程序 搭建超级简单
  20. SQL2005断电重启数据库置疑修复成功案例

热门文章

  1. 使用 rem 实现 适配各种屏幕布局
  2. 浅谈MVC设计模式和SSH框架的关系
  3. Apache配置(转载)
  4. 网页制作技术革新:《HTML5 网站大观》系列文章导航
  5. Partition学习笔记
  6. 時鐘,天氣預報--js
  7. Enterprise Library 2.0 Hands On Lab 翻译(14):加密应用程序块(一)
  8. NodeJS+Express+mySQL服务端开发详解
  9. 点击之后从浏览器回到微信界面的方法
  10. mysql差异备份实现_结合Git实现Mysql差异备份,可用于生产环境