Yii2框架實(shí)現(xiàn)數(shù)據(jù)庫(kù)常用操作總結(jié)
通用:
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(); // 調(diào)用 yii\db\Query::addSelect() 方法來(lái)選取附加字段 $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 (活動(dòng)記錄,以下簡(jiǎn)稱AR)提供了一個(gè)面向?qū)ο蟮慕涌冢?用以訪問數(shù)據(jù)庫(kù)中的數(shù)據(jù)。一個(gè) AR 類關(guān)聯(lián)一張數(shù)據(jù)表, 每個(gè) AR 對(duì)象對(duì)應(yīng)表中的一行,對(duì)象的屬性(即 AR 的特性Attribute)映射到數(shù)據(jù)行的對(duì)應(yīng)列。 一條活動(dòng)記錄(AR對(duì)象)對(duì)應(yīng)數(shù)據(jù)表的一行,AR對(duì)象的屬性則映射該行的相應(yīng)列。
這里的增刪改都會(huì)用到AR對(duì)象進(jìn)行映射操作。
增加
$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(); //返回所有用戶數(shù)據(jù); User::findOne($id); //返回 主鍵 id=1 的一條數(shù)據(jù); User::find()->where(['name' => 'ttt'])->one(); //返回 ['name' => 'ttt'] 的一條數(shù)據(jù); User::find()->where(['name' => 'ttt'])->all(); //返回 ['name' => 'ttt'] 的所有數(shù)據(jù); User::findBySql('SELECT * FROM user')->all(); //用 sql 語(yǔ)句查詢 user 表里面的所有數(shù)據(jù); User::findBySql('SELECT * FROM user')->one(); //此方法是用 sql 語(yǔ)句查詢 user 表里面的一條數(shù)據(jù); User::find()->andWhere(['sex' => '女', 'age' => '18'])->count('id'); //統(tǒng)計(jì)符合條件的總條數(shù); User::find()->one(); //返回一條數(shù)據(jù); User::find()->all(); //返回所有數(shù)據(jù); User::find()->count(); //返回記錄的數(shù)量; User::find()->average(); //返回指定列的平均值; User::find()->min(); //返回指定列的最小值 ; User::find()->max(); //返回指定列的最大值 ; User::find()->scalar(); //返回值的第一行第一列的查詢結(jié)果; User::find()->column(); //返回查詢結(jié)果中的第一列的值; User::find()->exists(); //返回一個(gè)值指示是否包含查詢結(jié)果的數(shù)據(jù)行;
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- yii2.0數(shù)據(jù)庫(kù)遷移教程【多個(gè)數(shù)據(jù)庫(kù)同時(shí)同步數(shù)據(jù)】
- Yii2.0高級(jí)框架數(shù)據(jù)庫(kù)增刪改查的一些操作
- Yii2框架數(shù)據(jù)庫(kù)簡(jiǎn)單的增刪改查語(yǔ)法小結(jié)
- Yii2——使用數(shù)據(jù)庫(kù)操作匯總(增刪查改、事務(wù))
- YII2數(shù)據(jù)庫(kù)查詢實(shí)踐
- Yii2數(shù)據(jù)庫(kù)操作常用方法小結(jié)
- Yii2實(shí)現(xiàn)跨mysql數(shù)據(jù)庫(kù)關(guān)聯(lián)查詢排序功能代碼
- 使用Yii2實(shí)現(xiàn)主從數(shù)據(jù)庫(kù)設(shè)置
- yii2 數(shù)據(jù)庫(kù)讀寫分離配置示例
- 詳解yii2使用多個(gè)數(shù)據(jù)庫(kù)的案例
- Yii2框架操作數(shù)據(jù)庫(kù)的方法分析【以mysql為例】
- YII2框架中操作數(shù)據(jù)庫(kù)的方式實(shí)例分析
- yii2.0框架數(shù)據(jù)庫(kù)操作簡(jiǎn)單示例【添加,修改,刪除,查詢,打印等】
相關(guān)文章
php框架CI(codeigniter)自動(dòng)加載與自主創(chuàng)建對(duì)象操作實(shí)例分析
這篇文章主要介紹了php框架CI(codeigniter)自動(dòng)加載與自主創(chuàng)建對(duì)象操作,結(jié)合實(shí)例形式分析了codeigniter框架自動(dòng)加載與自主創(chuàng)建對(duì)象相關(guān)原理、實(shí)現(xiàn)方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2020-06-06CI操作cookie的方法分析(基于helper類庫(kù))
這篇文章主要介紹了CI操作cookie的方法,結(jié)合實(shí)例形式分析了CI使用helper類庫(kù)的cookie類庫(kù)實(shí)現(xiàn)操作cookie的相關(guān)技巧,需要的朋友可以參考下2016-03-03Laravel實(shí)現(xiàn)短信注冊(cè)的示例代碼
這篇文章主要介紹了Laravel實(shí)現(xiàn)短信注冊(cè)的示例代碼,使用云片短信平臺(tái),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-05Laravel框架實(shí)現(xiàn)利用中間件進(jìn)行操作日志記錄功能
這篇文章主要介紹了Laravel框架實(shí)現(xiàn)利用中間件進(jìn)行操作日志記錄功能,結(jié)合實(shí)例形式分析了Laravel框架中間件的創(chuàng)建、引入以及使用中間件進(jìn)行操作日志記錄功能的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-06-06