Yii2 数据库操作
新增
使用 model::save() 操作进行新增数据
$user = new User;
$user->username = $username;
$user->password = $password;
$user->save()
使用 createCommand() 进行新增数据
Yii::$app->db->createCommand()->insert('user', [
'name' => 'test',
'age' => 30,
])->execute();
批量插入数据
Yii::$app->db->createCommand()->batchInsert('user', ['name', 'age'], [
['test01', 30],
['test02', 20],
['test03', 25],
])->execute();
修改
使用 model::save() 进行修改
$user = User::find()->where(['name' => 'test'])->one(); // 获取 name 等于 test 的模型
$user->age = 40; // 修改 age 属性值
$user->save(); // 保存
直接修改:修改用户 test 的年龄为 40
$result = User::model()->updateAll(['age' => 40],['name' => 'test']);
使用 createCommand() 修改
Yii::$app->db->createCommand()->update('user', ['age' => 40], 'name => test')->execute();
删除
使用 model::delete() 进行删除
$user = User::find()->where(['name' = >'test'])->one();
$user->delete();
直接删除:删除年龄为30的所有用户
$result = User::deleteAll(['age' = >'30']);
使用 createCommand() 删除
Yii::$app->db->createCommand()->delete('user', 'age = 30')->execute();
杂项
User::find()->all(); // 返回所有用户数据
User::findOne($id); // 返回 主键 id=1 的一条数据
User::find()->one(); // 返回一条数据
User::find()->all(); // 返回所有数据
User::find()->count(); // 返回记录的数量
User::find()->average(); // 返回指定列的平均值
User::find()->min(); // 返回指定列的最小值
User::find()->max(); // 返回指定列的最大值
User::find()->scalar(); // 返回值的第一行第一列的查询结果
User::find()->column(); // 返回查询结果中的第一列的值
User::find()->exists(); // 返回一个值指示是否包含查询结果的数据行
User::find()->where(['name' => 'ttt'])->one(); // 返回 ['name' => 'ttt'] 的一条数据
User::find()->where(['name' => 'ttt'])->all(); // 返回 ['name' => 'ttt'] 的所有数据
User::findBySql('SELECT * FROM user')->all(); // 用 sql 语句查询 user 表里面的所有数据
User::findBySql('SELECT * FROM user')->one(); // 此方法是用 sql 语句查询 user 表里面的一条数据
User::find()->andWhere(['sex' => '女', 'age' => '18'])->count('id'); // 统计符合条件的总条数