zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    [bzoj1731] [Usaco2005 dec]Layout 排队布局
    [bzoj1914] [Usaco2010 OPen]Triangle Counting 数三角形
    [bzoj1774] [Usaco2009 Dec]Toll 过路费
    [bzoj1783] [Usaco2010 Jan]Taking Turns
    [bzoj1705] [Usaco2007 Nov]Telephone Wire 架设电话线
    [bzoj1700]: [Usaco2007 Jan]Problem Solving 解题
    定时启动任务
    数据库表转javaBean
    验证码的生成
    MD5加密与验证
  • 原文地址:https://www.cnblogs.com/kuangliu/p/5151300.html
Copyright © 2011-2022 走看看