Yii框架数据连接操作相关学习01

本次学习内容为《Yii2.0权威指南》中‘配合数据库工作’一节,以下为整理的笔记。

一、数据查询

    这里所用的数据表是school表,表字段为schoolID(int),name(varchar(20)),remark(varchar(50))

    查找一条记录(返回的是Array)

    $name = Yii::$app->db->createCommand('Select * From  school  Where schoolID = 1')
                    ->queryOne();

     print_r($name);   

     返回一列
     $name = Yii::$app->db->createCommand('Select name From school')
                     ->queryColumn();
      print_r($name);    

      返回一个标量
      $name = Yii::$app->db->createCommand('Select count(*) From school')
                       ->queryScalar();
       print_r($name);

       嵌入占位符来防止SQL注入
       $name = Yii::$app->db->createCommand('Select * From schoolWhere schoolID = :id')
                     ->bindValue(':id',55)
                     ->queryOne();
        print_r($name);

       

        //bindValue:绑定一个参数值; bindValues:绑定多个参数值

        //使用多个参数        
       $params = [':id' => 1,':status'=>'兰州大学'];
   $name = Yii::$app->db->createCommand('Select * From school Where schoolID = :id and name =:name')->bindValues($params)->queryAll();

        //使用多个参数简单写法
   $name = Yii::$app->db->createCommand('Select * From school Where schoolID = :id and name =:name',$params)->queryAll();
        print_r($name);


        //可以学习的高效查询语句($id 要先定义)
        $name = Yii::$app->db->createCommand('Select * From school Where schoolID = :id')->bindParam(':id',$id);
        $id = 1;
        $result1 = $name->queryOne();
        $id = 2;
        $result2 = $name->queryOne();


二、数据操作

        execute()是最后一定要写的,意思是执行前面的代码。
        //更新操作

        1.占位法写法

  Yii::$app->db->createCommand('UPDATE school SET name = :name WHERE schoolID = 1')->bindValue(':name','heheh')->execute();

        2.原生SQL语句写法      

        Yii::$app->db->createCommand("UPDATE school SET name='jsjj' WHERE schoolID=1")->execute();

        3.一般写法       

        Yii::$app->db->createCommand()->update('school',['name'=>'南京大学'],'schoolID = 1')->execute();


        //插入操作

        1.原生SQL语句写法

    Yii::$app->db->createCommand("Insert Into school Values ('7','RE4','河海大学'),('8','RE5','哈尔滨工程大学')")->execute();

        2.一般写法

     Yii::$app->db->createCommand()->insert('school',['schoolID'=>'9','remark'=>'kk','name'=>'复旦大学'])->execute();

        3.批量插入写法(使用batchInsert())

    Yii::$app->db->createCommand()->batchInsert('school',['name','remark'],[['RE01','东南大学'],['RE02','北京大学']])->execute();

        //删除操作

        1.原生SQL语句写法

       Yii::$app->db->createCommand('Delete From school Where schoolID = 3')->execute();

        2.一般写法

        Yii::$app->db->createCommand()->delete('school','schoolID = 8')->execute();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值