Yii的createCommand用法

来源:互联网 发布:mysql数据库的增删改查 编辑:程序博客网 时间:2024/06/05 10:04

一、查询

Yii::app()->db->createCommand($sql)->queryOne();//查询一条数据

Yii::app()->db->createCommand($sql)->queryAll();//查询所有行数据

​Yii::app()->db->createCommand($sql)->queryRow();//查询第一行数据

​Yii::app()->db->createCommand($sql)->queryColumn();//查询第一列数据​

​Yii::app()->db->createCommand($sql)->queryScalar();//查询第一行的第一字段

二、执行

​Yii::app()->db->createCommand($sql)->execute();//创建、更新、删除,的执行


三、插入insert

$result =Yii::app()->db->createCommand()->insert('table表名', array(

                                           'column1'=>$value1,

                                           'column2'=>$value2,

           'column3'=>$value3,

                                           'create_time'=> time(),            
             ));

 

 获取插入id号:Yii::app()->db->getLastInsertID()


单表查询

$goodsTypes = Yii::app()->db->createCommand()             ->select('type_id, type_name')             ->from('goods_type')
 ->where('status=1')
 ->queryAll();
连表查询$goods = Yii::app()->db->createCommand() ->from('goods g')         ->select('g.good_id, g.good_name, gt.type_name, g.price, g.buy_nums, g.commit_nums, g.create_time')         ->join('goods_type gt', 'g.good_type=gt.type_id')         ->where('g.`status`=1 and gt.`status`=1')         ->order('g.create_time desc')         ->queryAll();

四、更新update

​$result =Yii::app()->db->createCommand()->update('table表名', array(  

                                  'column1'=>$value1,
                             'column2'=>$value2, 

                                  'column3'=>$value3,

                              'update_time'=> time(),

                        ),

                         "id=:id",array(':id'=>$id)

          );

五、删除delete

$result =Yii::app()->db->createCommand()->delete('table表名',

                                "id=:id",array(':id'=>$id)

          );


  1. 首先要实例化一个CDbCommand对象  
  2. $command Yii::app()->db->createCommand();     // 注意参数留空了。。  
  3. 可用的方法列表如下:  
  4. ->select(): SELECT子句  
  5. ->selectDistinct(): SELECT子句,并保持了记录的唯一性  
  6. ->from():         构建FROM子句  
  7. ->where():        构建WHERE子句  
  8. ->join():         在FROM子句中构建INNER JOIN 子句  
  9. ->leftJoin():     在FROM子句中构建左连接子句  
  10. ->rightJoin():    在FROM子句中构建右连接子句  
  11. ->crossJoin():    添加交叉查询片段  
  12. ->naturalJoin():  添加一个自然连接子片段  
  13. ->group():        GROUP BY子句  
  14. ->having():       类似于WHERE的子句,但要与GROUP BY连用  
  15. ->order():        ORDER BY子句  
  16. ->limit():        LIMIT子句的第一部分  
  17. ->offset():       LIMIT子句的第二部分  
  18. ->union():        appends UNION query fragment
注:使用 createCommand可以节约DB服务器的资源
yii1.1 createCommand 源码
public function createCommand($query=null){   $this->setActive(true);   return new CDbCommand($this,$query);}