增删改查

配置完数据库连接,就可以使用DB类进行查询了。

查询

$results = DB::select('select * from users where id = ?', array(1));

select方法会以数组形式返回查询结果。

插入

DB::insert('insert into users (id, name) values (?, ?)', array(1, 'Dayle'));

更新

DB::update('update users set votes = 100 where name = ?', array('John'));

删除

DB::delete('delete from users');

注意:update和delete语句返回受影响的行数。

通用语句

DB::statement('drop table users');

监听Query事件

DB::listen(function($sql, $bindings, $time)
{
//
});

数据库事务

DB::transaction(function()
{
DB::table('users')->update(array('votes' => 1));
DB::table('posts')->delete();
});

注意:transaction闭包中的任何异常将会导致事务自动回滚。

有时候也许你想自己开启事务:

DB::beginTransaction();

你也可以自己回滚事务:

DB::rollback();

最后,你可以通过commit方法提交事务:

DB::commit();

多个数据库连接访问

当使用多个数据库连接时,可以通过DB::connection方法访问它们:

$users = DB::connection('foo')->select(...);

你可以通过PDO实例访问原生连接:

$pdo = DB::connection()->getPdo();

有时候你需要重连数据库:

DB::reconnect('foo');

如果因为超出PDO实例的最大连接数限制而要断开连接,使用disconnect方法:

DB::disconnect('foo');

查询日志

默认情况下,Laravel使用日志记录当前请求的所有数据库查询操作,但是某些时候,比如插入大量数据,会引起应用使用过量内存。为了关闭日志,可以使用disableQuery方法:

DB::connection()->disableQueryLog();

获取查询日志记录,可以用过getQuery方法:

 $queries = DB::getQueryLog();

参考:http://nonfu.me/p/10911.html 、 http://nonfu.me/job

Laravel框架 mysql 数据库 —— 基本使用的更多相关文章

  1. 通用mapper版+SpringBoot+MyBatis框架+mysql数据库的整合

    转:https://blog.csdn.net/qq_35153200/article/details/79538440 开发环境: 开发工具:Intellij IDEA 2017.2.3 JDK : ...

  2. python Flask框架mysql数据库配置

    我是一个没有笔记习惯的低级程序员,但是我还是喜欢编程,从小学就开始跟着玩电脑,对抓鸡,ddos,跳板刷钻开始了自己的IT 旅程,之后学习了各种语言,但是可惜都不没有达到精通,都是略懂一二,现在想把Py ...

  3. (转)Flask框架+mySQL数据库:误删migrations文件夹后再次创建时遭遇错误(Can't locate revision identified by ‘xxx’)

    转自:(http://blog.csdn.net/Super_Tiger_Lee/article/details/77772752) 1.模型初始化环境: 命令:python manage.py db ...

  4. 如何实现一个php框架系列文章【6】mysql数据库

    实现一个mysql数据库封装需要考虑的问题 使用方便性 采用直接sql语句操作方式.只要会写sql语句,那么将没有其他学习成本. uctphp框架提供的dba辅助封装类,用会之后将爱不释手. 使用前需 ...

  5. Laravel框架数据库CURD操作、连贯操作使用方法

    Laravel框架数据库CURD操作.连贯如何来操作了这个操作性是非常的方便简单了我们在这里来为各位介绍一篇相关的教程,具体的细节步骤如下文介绍.   Laravel是一套简洁.优雅的PHP Web开 ...

  6. 在Jena框架下基于MySQL数据库实现本体的存取操作

    在Jena框架下基于MySQL数据库实现本体的存取操作 转自:http://blog.csdn.net/jtz_mpp/article/details/6224311 最近在做一个基于本体的管理系统. ...

  7. Laravel框架数据库CURD操作、连贯操作

    这篇文章主要介绍了Laravel框架数据库CURD操作.连贯操作.链式操作总结,本文包含大量数据库操作常用方法,需要的朋友可以参考下 一.Selects 检索表中的所有行 $users = DB::t ...

  8. 记录一次Spring boot 搭建框架连接Mysql数据库注解事务不回滚的故障

    搭建了一个新框架,使用了spring boot 替换以简化原来繁杂的spring配置,使用Spring注解管理事务,持久层使用mybatis. 连接mysql数据库完成项目的过程中发现不支持事务,因为 ...

  9. Laravel框架数据库CURD操作、连贯操作总结

    这篇文章主要介绍了Laravel框架数据库CURD操作.连贯操作.链式操作总结,本文包含大量数据库操作常用方法,需要的朋友可以参考下 一.Selects 检索表中的所有行 复制代码代码如下: $use ...

随机推荐

  1. CocoaPods的安装和使用

    一. CocoaPods简介 CocoaPods是一个用来帮助我们管理第三方依赖库的工具.在开发iOS应用时,会经常使用第三方类库,比如SDWebImage.AFNetworking等等,手动的下载与 ...

  2. 【2014-05-06】C++ 设计模式----单例模式

    1.何为单例模式? 单例模式(Singleton),保证一个类仅有一个实例,并提供一个访问它的全局访问点(static).可能有人会想这和全局变量有什么区别呢? 通常我们可以让一个全局成员变量使得一个 ...

  3. PHP入门二【PHP include 和 require的区别】

    include (或 require)语句会获取指定文件中存在的所有文本/代码/标记,并复制到使用 include 语句的文件中.包含文件很有用,如果您需要在网站的多张页面上引用相同的 PHP.HTM ...

  4. Linux解读

    Linux中权限(r.w.x)对于目录与文件的意义 一.权限对于目录的意义 1.首先要明白的是目录主要的内容是记录文件名列表和子目录列表,而不是实际存放数据的地方. 2.r权限:拥有此权限表示可以读取 ...

  5. TinyOS 中的 task

    task 的目的 做过界面的编程的同学可能会有这种经历,界面不响应,那,其实程序总是在后台运行,但是后台可能是个for循环,那么界面的点击等事件都不能执行. 在windows界面编程中利用了事件机制来 ...

  6. Node 编程规范

    空格, 2个, 因为有多层函数嵌套 行宽, 80个字符 语句分隔, 一律用; 并且占一行 变量定义, 每一个都要用 var, 并且不要定义全局变量 变量名和属性名, 小驼峰, yourName 函数, ...

  7. instanceof, isinstance,isAssignableFrom的区别

    instanceof运算符 只被用于对象引用变量,检查左边的被测试对象 是不是 右边类或接口的 实例化.如果被测对象是null值,则测试结果总是false. 形象地:自身实例或子类实例 instanc ...

  8. 解决JS加载速度慢

    在网页中的js文件引用会很多,js引用通常为 <script src="xxxx.js"></script> 通过如下方法可以增加js加载速度 <sc ...

  9. [求助] win7 x64 封装 出现 Administrator.xxxxx 的问题

    [求助] win7 x64 封装 出现 Administrator.xxxxx 的问题 jacky_qu 发表于 2014-9-3 23:34:37 https://www.itsk.com/thre ...

  10. [ubuntu]用ubuntu开发的日子----win7 ubuntu双系统

    小子终于忍不了win7某些蛋疼的设定,看群里好多大牛推荐mac,但资金紧张,只好推而求其次使用ubuntu,但是由于公司工作环境是windows,所以还必须保留windows系统,一次决定双系统. 下 ...