ThinkPhp查詢資料庫的幾種方式

2021-06-22 12:51:44 字數 1832 閱讀 3510

thinkphp內建了非常靈活的查詢方法,可以快速的進行資料查詢操作,查詢條件可以用於讀取、更新和刪除等操作,主要涉及到where方法等連貫操作即可,無論是採用什麼資料庫,你幾乎採用一樣的查詢方法(個別資料庫例如mongo在表示式查詢方面會有所差異),系統幫你解決了不同資料庫的差異性,因此我們把框架的這一查詢方式稱之為查詢語言。查詢語言也是thinkphp框架的orm亮點,讓查詢操作更加簡單易懂。下面來一一講解查詢語言的內涵。

一、使用字串作為查詢條件

這是最傳統的方式,但是安全性不高

$user = m("user"); // 例項化user物件

$user->where('type=1 and status=1')->select();

最後生成的sql語句是

select * from think_user where type=1 and status=1

二、使用陣列作為查詢條件

這種方式是最常用的查詢方式,例如:

$user = m("user"); // 例項化user物件

$condition['name'] = 'thinkphp';

$condition['status'] = 1;

// 把查詢條件傳入查詢方法

$user->where($condition)->select();

最後生成的sql語句是

select * from think_user where `name`='thinkphp' and status=1
如果進行多欄位查詢,那麼字段之間的預設邏輯關係是 邏輯與 and,但是用下面的規則可以更改預設的邏輯判斷,通過使用 _logic 定義查詢邏輯:

$user = m("user"); // 例項化user物件

$condition['name'] = 'thinkphp';

$condition['account'] = 'thinkphp';

$condition['_logic'] = 'or';

// 把查詢條件傳入查詢方法

$user->where($condition)->select();

最後生成的sql語句是

select * from think_user where `name`='thinkphp' or `account`='thinkphp'

三、使用物件方式來查詢 

這裡以stdclass內建物件為例:

$user = m("user"); // 例項化user物件

// 定義查詢條件

$condition = new stdclass();

$condition->name = 'thinkphp';

$condition->status= 1;

$user->where($condition)->select();

最後生成的sql語句和上面一樣

select * from think_user where `name`='thinkphp' and status=1
使用物件方式查詢和使用陣列查詢的效果是相同的,並且是可以互換的,大多數情況下,我們建議採用陣列方式更加高效。

Hibernate中查詢資料庫的幾

hibernate中查詢資料庫的幾種方法 陽東明 hibernate中查詢資料庫中的資料是很重要的,我們有4種方法 1 get 和load 他們的用法完全一樣,都需要兩個引數,第1個是持久化物件類名.class,第2個是行號,也就是說這2個方法都只能返回固定的某一行的資料,但是需要注意的是 當輸入的...

thinkphp5 資料庫原生查詢

db類支援原生sql查詢操作,主要包括下面兩個方法 query方法 query方法用於執行sql查詢操作,如果資料非法或者查詢錯誤則返回false,否則返回查詢結果資料集 同select方法 使用示例 db query select from think user where status 1 如果...

thinkphp5 資料庫高階查詢

1,快捷查詢 快捷查詢方式是一種多欄位相同查詢條件的簡化寫法,可以進一步簡化查詢條件的寫法,在多個字段之間用 分割表示or查詢,用 分割表示and查詢,可以實現下面的查詢,例如 db table think user where name title like thinkphp where crea...