laravel mysql_Laravel框架 mysql 数据库 —— 基本使用

标签:

增删改查

配置完数据库连接,就可以使用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

标签:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值