您的位置:首页 > 编程语言 > PHP开发

Yii2.0 数据库操作

2015-12-10 16:02 459 查看
下面介绍一下 Yii2.0 对数据库 查询的一些简单的操作
User::find()->all();    此方法返回所有数据;

User::find()->one();        此方法返回一条数据;

User::find()->limit(3)      此方法返回3条数据

User::find()->count();    此方法返回记录的数量;

User::find()->average();    此方法返回指定列的平均值;

User::find()->min();    此方法返回指定列的最小值 ;

User::find()->max();    此方法返回指定列的最大值 ;

User::find()->scalar();    此方法返回值的第一行第一列的查询结果;

User::find()->column();    此方法返回查询结果中的第一列的值;

User::find()->exists();    此方法返回一个值指示是否包含查询结果的数据行;

User::find()->batch(10);  每次取 10 条数据

User::find()->each(10);  每次取 10 条数据, 迭代查询

User::findOne($id);   此方法返回 主键 id=1  的一条数据(举个例子);

User::find()-> where(['!=','city',0]);   此方法查询"city != 0" 的数据

User::find()->where(['name' => '小伙儿'])->one();   此方法返回 ['name' => '小伙儿'] 的一条数据;

User::find()->where(['name' => '小伙儿'])->all();   此方法返回 ['name' => '小伙儿'] 的所有数据;

User::find()->orderBy('id DESC')->all();   此方法是排序查询;(desc 降序  asc 升序)

User::findBySql('SELECT * FROM user')->all();  此方法是用 sql  语句查询 user 表里面的所有数据;

User::findBySql('SELECT * FROM user')->one();  此方法是用 sql  语句查询 user 表里面的一条数据;

User::find()->andWhere(['sex' => '男', 'age' => '24'])->count('id');   统计符合条件的总条数;

User::find()->andFilterWhere(['between', 'regtime', '1427925600', '1427968800’])  此方法查询在[1427925600-1427968800]之间的数据

User::find()->where(“app_id in ({$appIds})”);      此方法查询app_id在数组$appIds范围内的数据 ($appIds是[1, 2, ,3, 4, 5]这种形式的)

User::find()->join(‘LEFT JOIN‘,‘student‘,‘student.cid=customer.id’)  左关联(以左表为主, 左表的记录将会全部表示出来,而右表只会显示符合搜索条件的记录
'student.cid=customer.id')

User->find()->createCommand()->getRawSql();    返回执行的SQL语句

 
//另外,有时我们为了省事,不行以上面的形式操作数据库,下面就是简便的方法操作数据库

$connection = Yii::$app->getDb();

$command = $connection->createCommand('update cp_user_base_info_old set repair_status=19 where repair_status = 0');

$command = $connection->createCommand("update cp_user_base_info set city = 2,  repair_status = 1 where (city = 44 and city !=0 and repair_status = 0)");

$result = $command->execute();  返回受影响的行数

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息