1. 程式人生 > >數據庫-鏈式查詢

數據庫-鏈式查詢

參數 avi spl 註釋 attach 鎖機制 max-width attribute function

where

where方法的用法是ThinkPHP查詢語言的精髓,也是ThinkPHP ORM的重要組成部分和亮點所在,可以完成包括普通查詢、表達式查詢、快捷查詢、區間查詢、組合查詢在內的查詢操作。where方法的參數支持字符串和數組,雖然也可以使用對象但並不建議。

table

table方法主要用於指定操作的數據表。

alias

alias用於設置當前數據表的別名,便於使用其他的連貫操作例如join方法等。

field

field方法屬於模型的連貫操作方法之一,主要目的是標識要返回或者操作的字段,可以用於查詢和寫入操作。

order

order方法屬於模型的連貫操作方法之一,用於對操作的結果排序。

limit

limit方法也是模型類的連貫操作方法之一,主要用於指定查詢和操作的數量,特別在分頁查詢的時候使用較多。ThinkPHP的limit方法可以兼容所有的數據庫驅動類的。

page

page方法也是模型的連貫操作方法之一,是完全為分頁查詢而誕生的一個人性化操作方法。

group

GROUP方法也是連貫操作方法之一,通常用於結合合計函數,根據一個或多個列對結果集進行分組 。

having

HAVING方法也是連貫操作之一,用於配合group方法完成從分組的結果中篩選(通常是聚合條件)數據。

join

join通常有下面幾種類型,不同類型的join操作會影響返回的數據結果。

  • INNER JOIN
    : 等同於 JOIN(默認的JOIN類型),如果表中有至少一個匹配,則返回行
  • LEFT JOIN: 即使右表中沒有匹配,也從左表返回所有的行
  • RIGHT JOIN: 即使左表中沒有匹配,也從右表返回所有的行
  • FULL JOIN: 只要其中一個表中存在匹配,就返回行

union

UNION操作用於合並兩個或多個 SELECT 語句的結果集。

distinct

DISTINCT 方法用於返回唯一不同的值 。

lock

Lock方法是用於數據庫的鎖機制,如果在查詢或者執行操作的時候使用:

cache

cache方法用於查詢緩存操作,也是連貫操作方法之一。

cache可以用於selectfind

valuecolumn方法,以及其衍生方法,使用cache方法後,在緩存有效期之內不會再次進行數據庫查詢操作,而是直接獲取緩存中的數據,關於數據緩存的類型和設置可以參考緩存部分。

comment

COMMENT方法 用於在生成的SQL語句中添加註釋內容,

fetchSql

fetchSql用於直接返回SQL而不是執行查詢,適用於任何的CURD操作方法。

force

force 方法用於數據集的強制索引操作,

bind

bind方法用於手動參數綁定,大多數情況,無需進行手動綁定,系統會在查詢和寫入數據的時候自動使用參數綁定。

partition

partition 方法用於是數據庫水平分表

partition($data, $field, $rule);
// $data 分表字段的數據
// $field 分表字段的名稱
// $rule 分表規則

strict

strict方法用於設置是否嚴格檢查字段名,

failException

failException設置查詢數據為空時是否需要拋出異常,如果不傳入任何參數,默認為開啟,用於selectfind方法,

sequence

sequence方法用於pgsql數據庫指定自增序列名,其它數據庫不必使用,用法為:

Db::name(‘user‘)->sequence(‘id‘)->insert([‘name‘=>‘thinkphp‘]);

數據庫-鏈式查詢