一、查询
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表名',
单表查询
$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)
);
- 首先要实例化一个CDbCommand对象
- $command
= Yii::app()->db->createCommand(); // 注意参数留空了。。 - 可用的方法列表如下:
- ->select():
SELECT子句 - ->selectDistinct():
SELECT子句,并保持了记录的唯一性 - ->from():
构建FROM子句 - ->where():
构建WHERE子句 - ->join():
在FROM子句中构建INNER JOIN 子句 - ->leftJoin():
在FROM子句中构建左连接子句 - ->rightJoin():
在FROM子句中构建右连接子句 - ->crossJoin():
添加交叉查询片段 - ->naturalJoin():
添加一个自然连接子片段 - ->group():
GROUP BY子句 - ->having():
类似于WHERE的子句,但要与GROUP BY连用 - ->order():
ORDER BY子句 - ->limit():
LIMIT子句的第一部分 - ->offset():
LIMIT子句的第二部分 - ->union():
appends a UNION query fragment
yii1.1 createCommand 源码
public function createCommand($query=null) { $this->setActive(true); return new CDbCommand($this,$query); }