zoukankan      html  css  js  c++  java
  • Yii2框架 数据库常用操作

    通用:

    use yiidbQuery;
    $query = new Query();

     查询:

    Query:

    $rows = (new yiidbQuery())
                ->select(['code', 'name', 'population'])
                ->from('country')
                ->limit(10)
                ->all();

     Select:

    $data = $query->select(['code', 'name'])->from('country')->all();
    // 调用 yiidbQuery::addSelect() 方法来选取附加字段
            $data = $query->select(['code', 'name'])
                ->addSelect(['population'])->all();

    From:

    $query->from('country');  
    $query->from(['public.country c']);  
    $query->from('public.country c');  

    Where:

    字符串格式,例如:'status=1'
    哈希格式,例如: ['status' => 1, 'type' => 2]
    操作符格式,例如:['like', 'name', 'test']
    

    andFilterWhere()

    orFilterWhere()

    Active Record  (活动记录,以下简称AR)提供了一个面向对象的接口, 用以访问数据库中的数据。一个 AR 类关联一张数据表, 每个 AR 对象对应表中的一行,对象的属性(即 AR 的特性Attribute)映射到数据行的对应列。 一条活动记录(AR对象)对应数据表的一行,AR对象的属性则映射该行的相应列。

    这里的增删改都会用到AR对象进行映射操作。

     增加

    $country->name = 'UK';
    $country->save();

     修改

    $country = Customer::findOne($id);
    $country->email = 'UK';
    $country->save();  // 等同于 $country->update();

     删除

    $country = Country::findOne($id);
    $country->delete();

     其他

    User::find()->all();    //返回所有用户数据;
    User::findOne($id);   //返回 主键 id=1  的一条数据; 
    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');   //统计符合条件的总条数;
    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();    //返回一个值指示是否包含查询结果的数据行;
  • 相关阅读:
    BZOJ 1101 莫比乌斯函数+分块
    BZOJ 2045 容斥原理
    BZOJ 4636 (动态开节点)线段树
    BZOJ 2005 容斥原理
    BZOJ 2190 欧拉函数
    BZOJ 2818 欧拉函数
    BZOJ 3123 主席树 启发式合并
    812. Largest Triangle Area
    805. Split Array With Same Average
    794. Valid Tic-Tac-Toe State
  • 原文地址:https://www.cnblogs.com/wilburxu/p/6378324.html
Copyright © 2011-2022 走看看