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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM