當前位置:首頁 » 操作系統 » 資料庫自動查詢

資料庫自動查詢

發布時間: 2023-03-07 20:15:47

⑴ thinkphp008. 資料庫的數據查詢

008. 資料庫的數據查詢

本節課我們來了解一下資料庫的數據查詢方式,單數據、數據集和其它查詢。

一.單數據查詢

1. Db::table()中table必須指定完整數據表(包括前綴);

2. 如果希望只查詢一條數據,可以使用find()方法,需指定where條件;

Db::table('tp_user')->where('id', 27)->find()

3. Db::getLastSql()方法,可以得到最近一條SQL查詢的原生語句;

SELECT * FROM `tp_user` LIMIT 1

4. 沒有查詢到任何值,則返回null;

5. 使用findOrFail()方法同樣可以查詢一條數據,在沒有數據時拋出一個異常;

Db::table('tp_user')->where('id', 1)->findOrFail()

6. 使用findOrEmpty()方法也可以查詢一條數據,但在沒有數據時返回一個空數組;

7. Db::table('tp_user')->where('id', 1)->findOrEmpty();

二.數據集查詢

1. 想要獲取多列數據,可以使用select()方法;

Db::table('tp_user')->select(); SELECT * FROM `tp_user`

2. 多列數據在查詢不到任何數據時返回空數組,使用selectOrFail()拋出異常; Db::table('tp_user')->where('id', 1)->selectOrFail();

3. 在select()方法後再使用toArray()方法,可以將數據集對象轉化為數組;

4. 當在資料庫配置文件中設置了前綴,那麼我們可以使用name()方法忽略前綴; Db::name('user')->select();

三.其它查詢

1. 通過value()方法,可以查詢指定欄位的值(單個),沒有數據返回null;

Db::name('user')->where('id', 27)->value('username');

$user = Db::table('tp_user')->select()->toArray(); mp($user);

2. 通過colunm()方法,可以查詢指定列的值(多個),沒有數據返回空數組; Db::name('user')->column('username');

3. 可以指定id作為列值的索引;

4. 如果處理的數據量巨大,成百上千那種,一次性讀取有可能會導致內存開銷過大;

5. 為了避免內存處理太多數據出錯,可以使用chunk()方法分批處理數據;

6. 比如,每次只處理100條,處理完畢後,再讀取100條繼續處理;

7. 可以利用游標查詢功能,可以大幅度減少海量數據的內存開銷,它利用了PHP生成器特性。每次查詢只讀一行,然後再讀取時,自動定位到下一行繼續讀取;

Db::name('user')->column('username', 'id');

Db::table('tp_user')->chunk(3, function($users) { foreach ($users as $user) {

mp($user);

}

echo 1; });

$cursor = Db::table('tp_user')->cursor(); foreach($cursor as $user){

mp($user);

}

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:595
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:889
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:583
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:766
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:687
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1015
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:258
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:117
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:808
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:715