Yii2 数据库常用操作

简爱 代码>Yii 2017-7-4 23:08 1824 1
Yii2 数据库操作 ================== ## 新增 ### 使用 `model::save()` 操作进行新增数据 ```php $user = new User; $user->username = $username; $user->password = $password; $user->save() ``` ### 使用 `createCommand()` 进行新增数据 ```php Yii::$app->db->createCommand()->insert('user', [ 'name' => 'test', 'age' => 30, ])->execute(); ``` ### 批量插入数据 ```php Yii::$app->db->createCommand()->batchInsert('user', ['name', 'age'], [ ['test01', 30], ['test02', 20], ['test03', 25], ])->execute(); ``` ## 修改 ### 使用 `model::save()` 进行修改 ```php $user = User::find()->where(['name' => 'test'])->one(); // 获取 name 等于 test 的模型 $user->age = 40; // 修改 age 属性值 $user->save(); // 保存 ``` ### 直接修改:修改用户 `test` 的年龄为 `40` ```php $result = User::model()->updateAll(['age' => 40],['name' => 'test']); ``` ### 使用 `createCommand()` 修改 ```php Yii::$app->db->createCommand()->update('user', ['age' => 40], 'name => test')->execute(); ``` ## 删除 ### 使用 `model::delete()` 进行删除 ```php $user = User::find()->where(['name' = >'test'])->one(); $user->delete(); ``` ### 直接删除:删除年龄为30的所有用户 ```php $result = User::deleteAll(['age' = >'30']); ``` 使用 `createCommand()` 删除 ```php Yii::$app->db->createCommand()->delete('user', 'age = 30')->execute(); ``` ## 杂项 ```php 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'); // 统计符合条件的总条数 ```

本文出自 简爱博客,转载时请注明出处及相应链接。

评论

  1. 菜仔卢 2017-07-07 17:11 回复

发表评论

电子邮件地址不会被公开。必填项已用*标注