1. 程式人生 > >ThinkPHP_5對數據庫的操作

ThinkPHP_5對數據庫的操作

字段 tinc esc build 結果 語句 field ble 兩個

Db::query();
Db::execute();

Db::table()->select(); 所有數據,二維數組,結果不存在時返回空數組
Db::table->find(); 一條數據,一維數組,結果不存在時返回NULL

Db::table->value(); 一條數據, 結果不存在時返回空
Db::table->column(); 返回一個一維數組;如果有第二個參數,返回以第二個數作為標識的數組,結果不存在時,返回NULL

Db::table()->... 表名加表前綴
Db::name()->.. 忽略表前綴


//添加數據 【數組】
Db::name()->insert();返回影響行數
Db::name()->insertGetId(); 獲取最後的新增id
Db::name()->insertAll(); 插入全部數據

//更新數據庫 【數組】
Db::name()->where()->update(); 返回影響行數
Db::name()->where()->setField(‘name‘,‘小米‘);更新數據的某一個字段 返回影響行數
Db:name()->where->setInc(‘num‘); num字段名每次自增1
Db:name()->where->setInc(‘num‘,5); num字段名每次自增5
Db::name()->where()->setDec(‘num‘); num字段每次自減


刪除
Db::name()->where()->delete(); 返回影響行數
如果要刪除的條件是主鍵,可以不寫where
Db::name()->delete(1); 刪除id=1的記錄


條件構造器
Db::name()->where()->buildSql(); 返回sql語句
Db::name()->where("id=1")->buildSql(); 傳遞條件
Db::name()->where("id",1)->buildSql(); 傳遞字段名,和想使用的值
Db::name()->where("id","<>",1)->buildSql(); 字段名,表達式,想要判斷的值
Db::name()->where(‘id‘,‘between‘,‘1,5‘)->buildSql(); id在1-5之間的,包括1和5

Db::name()->where([‘id‘=>1])->buildSql();
Db::name()->where([‘id‘=>[‘in‘,[1,2,3,4]]])->buildSql();

【兩個條件是and的關系】
Db::name()->where(
[‘id‘=>1],
[‘name‘=>‘kaluo‘]
)->buildSql();


EXP 是條件表達式
Db::name()->where("id","EXP"," not in (1,2,3)")->buildSql();

【兩個條件是or的關系】
Db::name()->where("id","in","1,2,3")->whereOr(‘name‘,‘buld‘)->buildSql();

where()裏面是數組,是字符串,是參數

# 備註信息【字母會編譯成後面的符號等】【條件不區分大小寫】
# EQ =
# NEQ <>
# LT <
# ELT <=
# GT >
# EGT >=
# BETWEEN BETWEEN * AND *
# NOTBETWEEN NOT BETWEEN * AND *
# IN IN(*,*)
# NOTIN NO TIN(*,*)

表達式::
between
in

鏈式操作
Db::table()->where(‘id‘,‘>‘,10)->select(); 查詢的表中的所有的字段

【field方法】
Db::table()->where(‘id‘,‘>‘,10)->field("name,id")->select(); 查詢表中的name,id字段

【order方法】
Db::table()->where(‘id‘,‘>‘,10)->field("name,id")->order("id DESC")->limit(3,5)->select(); 查詢表中的name,id字段,倒敘排序,從第三條開始取,取5條

【page方法】【page(2,5)從第二頁開始,顯示五條】
Db::table()->where(‘id‘,‘>‘,10)->field("name,id")->order("id DESC")->page(3,5)->select(); 查詢表中的name,id字段,倒敘排序,從第三頁開始取,取5條

【group分組】
Db::table()->where(‘id‘,‘>‘,10)->field("name,id")->group("`group`")->select(); 查詢表中的name,id字段,以group分組

ThinkPHP_5對數據庫的操作