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');   // 统计符合条件的总条数