當前位置:首頁 > 芯聞號 > 充電吧
[導讀]數(shù)據(jù)庫之DAODAO (Data Access Object) 數(shù)據(jù)訪問對象是第一個面向對象的接口 ?–百度百科數(shù)據(jù)庫之DAO CRUD 查詢條件 聯(lián)合查詢 join 事務TransactionC

數(shù)據(jù)庫之DAO

DAO (Data Access Object) 數(shù)據(jù)訪問對象是第一個面向對象的接口
?–百度百科

數(shù)據(jù)庫之DAO CRUD 查詢條件 聯(lián)合查詢 join 事務Transaction

CRUD

class?IndexController?extends?CController{
????public?function?actionCreate()
????{
????????$rval?=?Yii::app()->db->createCommand()->insert('user',array(
????????????'username'=>'blue'?//傳入數(shù)組不需要擔心注入?,?yii自動會對數(shù)組進行?參數(shù)綁定的操作寫入
????????));
????}
????public?function?actionDelete($id)
????{
????????Yii::app()->db->createCommand()->delete('user','id=:id',array(':id'=>$id));
????}
????public?function?actionUpdate($id)
????{
????????Yii::app()->db->createCommand()->update('user',array('username'=>'blue'),'id=:id',array(':id'=>$id));
????}
????//一維數(shù)組?單條數(shù)據(jù)
????public?function?actionReadRow($id)
????{
????????$res?=?Yii::app()->db->createCommand()->select('username')->from('user')->where('id=:id',array(':id'=>$id))->queryRow();
????????var_dump($res);
????}
????//查詢列
????//比如說?查詢的是所有的username
????//返回的數(shù)組是?array('姓名1','姓名2','姓名3')
????public?function?actionReadColumn($id)
????{
????????$res?=?Yii::app()->db->createCommand()->select('username')->from('user')->where('id=:id',array(':id'=>$id))->queryColumn();
????????var_dump($res);
????}
????//二維數(shù)組?查詢所有
????public?function?actionReadAll($id)
????{
????????$res?=?Yii::app()->db->createCommand()->select('username')->from('user')->where('id=:id',array(':id'=>$id))->queryAll();
????????var_dump($res);
????}
????//查詢數(shù)量
????//直接返回對應值,而不是數(shù)組
????public?function?actionReadScalar()
????{
????????$res?=?Yii::app()->db->createCommand()->select('count(*)')->from('user')->queryScalar();
????????var_dump($res);
????}
}

查詢條件

where,like,in,limit,order,group

public?function?actionWhere()
????{
????????$connect?=?Yii::app()->db;

????????$res?=?$connect->createCommand()->select('*')->from('user')
????????????????->where('id3))
????????????????->queryAll();


????????$res?=?$connect->createCommand()->select('*')->from('user')
????????????????->where('id>:lid?and?id?<?:mid',array(':lid'=>3,":mid"=>7))
????????????????->queryAll();


????????$res?=?$connect->createCommand()->select('*')->from('user')
????????????????->where('id?>?:lid',array(':lid'=>3))
????????????????->andWhere('id?<?:mid',array(':mid'=>7))
????????????????->queryAll();

????????$res?=?$connect->createCommand()->select('*')->from('user')
????????????????->where(array('and','id?>?:lid','id?<?:mid'),array(':lid'=>3,":mid"=>8))
????????????????->queryAll();

????????$res?=?$connect->createCommand()->select('*')->from('user')
????????????????->where(array('and','id?>?:lid','id?<?:mid'),array(':lid'=>3,":mid"=>8))
????????????????->queryAll();

????????$res?=?$connect->createCommand()->select('*')->from('user')
????????????????->where(array('in','id',array(3,4,5)))
????????????????//->where(array('not?in','id',array(3,4,5)))
????????????????->queryAll();

????????$res?=?$connect->createCommand()->select('*')->from('user')
????????????????->where(array('like','username','%g%'))
//????????????????->where(array('not?like','username','%g%'))
//????????????????->where(array('like','username',array('%g%','%o%')))
????????????????->queryAll();

????????$res?=?$connect->createCommand()->select('*')->from('user')
????????????????->where(array('and','id?>?:id','id?<?:mid',array('or','username?=?:user1','username?=?:user2')),
????????????????????????array(':id'=>4,
????????????????????????????':mid'=>10,
????????????????????????????'user1'=>'blue',
????????????????????????????'user2'=>'green'
????????????????????????????))
????????????????->queryAll();

????????$res?=?$connect->createCommand()->select('*')->from('user')
????????????????->where(array('like','username','%g%'))
????????????????->offset(1)
????????????????->limit(2)
????????????????->queryAll();

????????$res?=?$connect->createCommand()->select('*')->from('user')
????????????????->where(array('like','username','%g%'))
????????????????->order('id?desc')
????????????????->queryAll();

????????$res?=?$connect->createCommand()->select('*,count(*)')->from('user')
????????????????->group('username')
????????????????->queryAll();

????????var_dump($res);
????}

聯(lián)合查詢 (join)

public?function?actionJoin()
????{
????????$res?=?Yii::app()->db->createCommand()
????????????????->select('*')
????????????????->from('user?as?u')
????????????????->join('city?as?c','u.city?=?c.id')
//????????????????->leftJoin('city?as?c','u.city?=?c.id')
????????????????->queryAll();
????????var_dump($res);
????}

事務(Transaction)

//yiiChina?例子
$transaction=$connection->beginTransaction();
try
{
????$connection->createCommand($sql1)->execute();
????$connection->createCommand($sql2)->execute();
????//....?other?SQL?executions
????$transaction->commit();
}
catch(Exception?$e)?//?如果有一條查詢失敗,則會拋出異常
{
????$transaction->rollBack();
}
本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉