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

資料庫自動查詢

發布時間: 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);

}

熱點內容
cf北京伺服器ip 發布:2025-08-21 16:51:13 瀏覽:725
資料庫欄位值為空的數據 發布:2025-08-21 16:45:14 瀏覽:572
php項目視頻 發布:2025-08-21 16:34:33 瀏覽:194
叉叉腳本激活碼 發布:2025-08-21 16:34:32 瀏覽:250
清理ie緩存快捷鍵 發布:2025-08-21 16:07:30 瀏覽:443
演算法規避 發布:2025-08-21 15:56:48 瀏覽:895
ip伺服器是機器嗎 發布:2025-08-21 15:40:34 瀏覽:770
wpf讀資料庫存儲的時間 發布:2025-08-21 15:30:59 瀏覽:441
存儲過程是先編譯好的嗎 發布:2025-08-21 15:25:07 瀏覽:889
java高並發編程詳解 發布:2025-08-21 15:11:27 瀏覽:550