thinkphp5的db類是封裝了pdo的數據庫操作類,使用非常方便,本文將介紹db類的使用方法。
一、連接數據庫
連接數據庫有兩種方式,一種是在config.php中配置,另一種是在實例化Db類時傳入連接參數。
在config.php中配置:
return [ // 數據庫類型 'type' => 'mysql', // 服務器地址 'hostname' => '127.0.0.1', // 數據庫名 'database' => 'test', // 數據庫用戶名 'username' => 'root', // 數據庫密碼 'password' => '', // 數據庫連接端口 'hostport' => '', ];
實例化Db類時傳入連接參數:
立即學習“PHP免費學習筆記(深入)”;
use thinkDb; $config = [ // 數據庫類型 'type' => 'mysql', // 服務器地址 'hostname' => '127.0.0.1', // 數據庫名 'database' => 'test', // 數據庫用戶名 'username' => 'root', // 數據庫密碼 'password' => '', // 數據庫連接端口 'hostport' => '', ]; Db::connect($config);
二、基本操作
1.查詢操作
use thinkDb; //查詢一條數據 Db::table('user')->where('id', 1)->find(); //查詢多條數據 Db::table('user')->where('age', '>', 18)->select();
2.插入操作
use thinkDb; $data = [ 'username' => 'admin', 'password' => md5('admin'), 'sex' => 1, 'age' => 20, ]; Db::table('user')->insert($data);
3.更新操作
use thinkDb; Db::table('user')->where('id', 1)->update(['age' => 21]);
4.刪除操作
use thinkDb; Db::table('user')->where('id', 1)->delete();
三、高級操作
1.鏈式操作
鏈式操作可以簡化sql語句的書寫。
use thinkDb; Db::table('user') ->alias('u') ->join('role r', 'u.role_id=r.id') ->where('u.id', 1) ->field('u.username, r.name') ->find();
2.調試方法
在開發環境中,我們經常需要查看sql語句的執行情況,Db類提供了三個調試方法:getLastSql、getExplain和getSqlLog。
use thinkDb; Db::table('user')->getLastSql(); Db::table('user')->where('age', '>', 18)->getExplain(); Db::table('user')->where('age', '>', 18)->select(); Db::table('user')->getLastSql(); print_r(Db::getSqlLog());
getLastSql方法可以獲取最后一次執行的sql語句。
getExplain方法可以獲取sql語句的執行計劃。
getSqlLog方法可以獲取所有執行的sql語句和執行時間。
四、總結
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END