本篇文章主要介紹了Yii2架構實現資料庫常用操作總結,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
通用:
use yii\db\Query;$query = new Query();
查詢:
Query:
$rows = (new \yii\db\Query()) ->select(['code', 'name', 'population']) ->from('country') ->limit(10) ->all();
Select:
$data = $query->select(['code', 'name'])->from('country')->all();// 調用 yii\db\Query::addSelect() 方法來選取附加欄位 $data = $query->select(['code', 'name']) ->addSelect(['population'])->all();
From:
$query->from('country'); $query->from(['public.country c']); $query->from('public.country c');
Where:
字串格式,例如:'status=1'
雜湊格式,例如: ['status' => 1, 'type' => 2]
操作符格式,例如:['like', 'name', 'test']
andFilterWhere()orFilterWhere()
Active Record (活動記錄,以下簡稱AR)提供了一個物件導向的介面, 用以訪問資料庫中的資料。一個 AR 類關聯一張資料表, 每個 AR 對象對應表中的一行,對象的屬性(即 AR 的特性Attribute)映射到資料行的對應列。 一條活動記錄(AR對象)對應資料表的一行,AR對象的屬性則映射該行的相應列。
這裡的增刪改都會用到AR對象進行映射操作。
增加
$country->name = 'UK';$country->save();
修改
$country = Customer::findOne($id);$country->email = 'UK';$country->save(); // 等同於 $country->update();
刪除
$country = Country::findOne($id);$country->delete();
其他
User::find()->all(); //返回所有使用者資料;User::findOne($id); //返回 主鍵 id=1 的一條資料; User::find()->where(['name' => 'ttt'])->one(); //返回 ['name' => 'ttt'] 的一條資料;User::find()->where(['name' => 'ttt'])->all(); //返回 ['name' => 'ttt'] 的所有資料;User::findBySql('SELECT * FROM user')->all(); //用 sql 語句查詢 user 表裡面的所有資料;User::findBySql('SELECT * FROM user')->one(); //此方法是用 sql 語句查詢 user 表裡面的一條資料;User::find()->andWhere(['sex' => '女', 'age' => '18'])->count('id'); //統計合格總條數;User::find()->one(); //返回一條資料;User::find()->all(); //返回所有資料;User::find()->count(); //返回記錄的數量;User::find()->average(); //返回指定列的平均值;User::find()->min(); //返回指定列的最小值 ;User::find()->max(); //返回指定列的最大值 ;User::find()->scalar(); //傳回值的第一行第一列的查詢結果;User::find()->column(); //返回查詢結果中的第一列的值;User::find()->exists(); //返回一個值指示是否包含查詢結果的資料行;
以上就是本文的全部內容,希望對大家的學習有所協助,更多相關內容請關注topic.alibabacloud.com!