YII2.0框架(四) 数据库操作yii\db\Commond
2017-05-08 17:20
856 查看
摘自:http://www.yiichina.com/doc/guide/2.0/db-dao
// 1. 执行SQL查询
$admins = Yii::$app->db->createCommand('SELECT * FROM tb_admin')->queryAll(); //查询所有数据
$admins = Yii::$app->db->createCommand('SELECT * FROM tb_admin WHERE id = 1')->queryOne(); //查询单条数据
$admins = Yii::$app->db->createCommand('SELECT name FROM tb_admin WHERE id = 1')->queryColumn();//查询某列数据
$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;
}
// 1. 执行SQL查询
$admins = Yii::$app->db->createCommand('SELECT * FROM tb_admin')->queryAll(); //查询所有数据
$admins = Yii::$app->db->createCommand('SELECT * FROM tb_admin WHERE id = 1')->queryOne(); //查询单条数据
$admins = Yii::$app->db->createCommand('SELECT name FROM tb_admin WHERE id = 1')->queryColumn();//查询某列数据
$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;
}
相关文章推荐
- Yii2.0高级框架数据库增删改查的一些操作
- yii2.0框架数据库操作ActivityQuery类中方法
- Yii2.0高级框架数据库增删改查的一些操作(转)
- Yii2.0高级框架数据库增删改查的一些操作(转)
- Python:操作PostgreSQL数据库(使用DB API2.0)
- 二:使用yii框架建立应用(数据库CURD基本操作)
- Yii 框架里数据库操作详解-[增加、查询、更新、删除的方法 'AR模式']
- Yii 框架里数据库操作详解
- Python:操作PostgreSQL数据库(使用DB API2.0)
- Yii 框架里数据库操作详解-[增加、查询、更新、删除的方法 'AR模式'](转)
- php yii框架web项目连接数据库以及crud操作
- php yii框架web项目连接数据库以及crud操作
- Yii 框架里数据库操作详解-[增加、查询、更新、删除的方法
- 利用dbcp数据库连接池连接数据库,并利用dbtuils框架对数据库test中book表进行插入、删除、修改、查询的操作。
- 【ci框架】CI 框架数据库操作函数 this->db->where() 的使用
- Yii 框架里数据库操作详解
- Yii 框架里数据库操作详解-[增加、查询、更新、删除的方法
- Yii 框架里数据库操作详解-[增加、查询、更新、删除的方法 (2011-10-25 17:01:25)
- Yii框架SQL语句操作数据库
- Yii 框架里数据库操作详解-[…