// 1. 執行SQL查詢
$admins = Yii::$app->db->createCommand('SELECT * FROM tb_admin')->queryAll(); //查詢所有資料
詢單條資料
//查詢某列資料
$admins = Yii::$app->db->createCommand('SELECT COUNT(id) FROM tb_admin WHERE id = 1')->queryScalar(); //查詢标量
// 2. 綁定參數
$params = [':id' => 1];
$id = 1;
$admins = Yii::$app->db->createCommand('SELECT * FROM tb_admin WHERE id = :id')->bindValue(':id',1)->queryOne(); //查詢單條資料
$admins = Yii::$app->db->createCommand('SELECT * FROM tb_admin WHERE id = :id')->bindValues($params)->queryOne(); //查詢單條資料
$admins = Yii::$app->db->createCommand('SELECT * FROM tb_admin WHERE id = :id', $params)->queryOne(); //查詢單條資料
$admins = Yii::$app->db->createCommand('SELECT * FROM tb_admin WHERE id = :id')->bindParam(':id', $id)->queryOne(); //查詢單條資料
// 3. 執行非查詢語句
$rs = Yii::$app->db->createCommand('
UPDATE tb_admin SET name="小明" WHERE id=:id
')->bindParam(':id', $id)->execute(); //修改單條資料
$rs = Yii::$app->db->createCommand()->update('tb_admin', ['name'=>'小芳'], 'id=1')->execute(); //修改單條資料
$rs = Yii::$app->db->createCommand()->insert('tb_admin', [
'name' => '小芳',
'phone' => '1500',
'role_id' => '10',
'password' => 'admin',
'created' => '2017-05-05 19:52:07',
])->execute(); //插入單條資料
$rs = Yii::$app->db->createCommand()->delete('tb_user', 'id=1')->execute(); //删除單條資料
$rs = Yii::$app->db->createCommand()->batchInsert('tb_admin', ['name', 'phone', 'role_id', 'password', 'created'],[
['小明','1233','23','23','2017-05-05 19:52:07'],
['小明','1233','23','23','2017-05-05 19:52:07'],
])->execute(); //插入多條資料
// 4. 引用表和列名稱
$admins = Yii::$app->db->createCommand('SELECT COUNT([[id]]) FROM {{tb_admin}} WHERE id = 1')->queryScalar(); //查詢标量
// 5. 使用表字首
$admins = Yii::$app->db->createCommand('SELECT COUNT([[id]]) FROM {{%admin}} WHERE id = 1')->queryScalar(); //查詢标量
// 6. 執行事務
Yii::$app->db->transaction(function($db){
$sql1 = 'UPDATE tb_admin SET name="小明" WHERE id=1';
$sql2 = 'UPDATE tb_user SET name="小明" WHERE id=12';
$db->createCommand($sql1)->execute();
$db->createCommand($sql2)->execute();
});
$db = Yii::$app->db;
$transaction = $db->beginTransaction();
try {
$sql1 = 'UPDATE tb_admin SET name="11明" WHERE id=1';
$sql2 = 'UPDATE tb_admin SET name="" WHERE id=null';
$db->createCommand($sql1)->execute();
$db->createCommand($sql2)->execute();
$transaction->commit();
} catch (\Exception $e) {
$transaction->rollback();
throw $e;
}