laravel数据库相关操作
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数据库相关操作相关推荐
- 导学+初识MySQL+SQL语法规范+数据库相关操作+表相关操作+MySql存储引擎介绍+MySQL表的创建+测试数据类型
一.导学 1.什么是SQL? 结构化查询语言,数据库管理系统通过SQL语言来管理数据库中的数据: 2.SQL语言组成部分 (1)DDL--数据定义语言,主要定义数据库.表.视图.索引和触发器等 (2) ...
- Hive数据类型、数据库相关操作、表的相关操做、数据的导入导出
文章目录 Hive数据类型 1.基本数据类型 2.集合数据类型 案例实操 3.类型转化 数据库的相关操作 1.创建数据库 2.查询数据库 3.修改数据库 4.删除数据库 表的相关操作 1.建表 2.管 ...
- Django 数据库相关操作 (六)
前言 上篇已经介绍过模型相关操作,并创建好了数据库及相关表字段,接下来将通过以下表在Django中进行表数据的增删改查. from django.db import modelsclass Stude ...
- python数据库环境详解_python中MySQL数据库相关操作
一 安装基本环境 1 简介 MySQL 基于TCP 协议之上的开发,但是网络连接后,传输的数据必须遵循MySQL的协议,封装好MySQL协议的包,就是驱动程序 MySQL 的驱动 MySQLDB 最有 ...
- mysql数据库相关操作
1.进入mysql/bin目录下输入mysqladmin processlist; 2.启动mysql,输入show processlist; 如果有 SUPER 权限,则可以看到全部的线程,否则,只 ...
- Mysql(4)——数据库相关操作
(1)查看所有数据库 (2)创建数据库 create database 数据库名 charset=utf8 (3)使用数据库并且查看当前使用的是哪个数据库 (4)删除数据库
- laravel数据库相关操作说明
输出原生sql: DB::table('users')->where([['name','=','张三']])->toSql(); //输出sql为:select * from users ...
- easyswoole 数据库相关操作集合大复盘
初始化ORM连接池 1.在dev.php 配置文件中配置其MYSQL数据库连接配置 <?php return ['MYSQL' =>['host' => '','port' => ...
- DB2数据库相关操作
自增字段的创建 create SEQUENCE ftpapp.LINKAGE_SEQ AS INTEGER MINVALUE 1 MAXVALUE 2147483647 START WITH 1 IN ...
最新文章
- SNMP AGENT函数介绍
- android中的常用方法,android开发中常用方法总结
- 多线程安全问题产生解决方案
- 关于业务用例抽象问题对网友的回复
- HR招聘_(二)_招聘方法论(招聘原因及原则)
- 前端小白程序员入门之前知道这些,半年后都拿到8K+的offer
- dataimagepng php_PHP decode data:image/png;base64
- Linux下通过HostName访问主机以及修改HostName方法
- 计算机二级考试c语言 上机,计算机等级考试二级C语言上机题[2]
- 在线HTTP POST/GET接口测试工具
- js常用插件(八)之移动端滑动插件swiper,BScroll
- 上位机plc编程入门_PLC与上位机的通信-plc上位机程序开发
- 计算机视觉c刊论文,摄影外文文献 摄影核心期刊参考文献哪里找
- Java常用加密解密算法全解
- 运算符(一元 二元)
- springboot 2.x升级后出现Spring Security – There is no PasswordEncoder mapped for the id “null”的解决方案
- windows下合并多个txt,文件
- 计算机辅助工艺设计相关相接系统,计算机辅助工艺设计——人工智能技术ppt
- 个人主页HTML源码程序 搭建超级简单
- SQL2005断电重启数据库置疑修复成功案例