sql增删改查

原创 2019-06-20 22:31:39 147
摘要:class Query{  //读操作返回的都是二维数组,没有满足条件的记录,返回的是一个空的数组  //写操作返回的是受影响的记录数量,如果没有则返回0;  public function  find()  {    //查找单挑记录      //查找表staff1  主键 

class Query

{

  //读操作返回的都是二维数组,没有满足条件的记录,返回的是一个空的数组

  //写操作返回的是受影响的记录数量,如果没有则返回0;

  public function  find()

  {

    //查找单挑记录

      //查找表staff1  主键

    $res = Db::table('staff1')->find(3);//返回主键等于3的


    $res2 = Db::table('staff1')

          // ->field('name,sex,salary') //设置需要结果的名字  不写为 全部需要

          ->field(['name'=>'名字','sex'=>'性别','salary'=>'工资'])// 给对应结果的 姓名添加别名

          ->where('id','>',5) //返回id>2  第一个参数 字段,第二个参数 表达式,等于为默认。第三个参数 为表达式后面的条件

          ->find();

              // 1,操作的表 2,需要操作的范围,3,操作的方法

    dump($res);

    echo '<hr>';

    dump($res2);

  }

  public function select() // 查询多条记录

  {

    $res = Db::table('staff1')

          // ->field(['name'=>'姓名','salary'=>'工资'])

          ->field('name,salary')

          // ->where('salary>4000')   //工资大于4000

          ->where('salary','>','1000')  //方法二

          ->order('salary','DESC') //根据salary 排序  DESC 降序

          // ->order('salary DESC') //排序方法二

          ->limit(5)  //需要获取数据的条目,不设置 为获取全部

          ->select();

      return $res ;

  }

  public function insert() //新增一条数据

  {

    //新增单条记录 :insert


    // $data = ['name'=>'李小龙','sex'=> 0,'age'=>37,'salary'=>35000];

    // $rn = Db::table('staff1')->insert($data);

    // $id = Db::getLastInsID();//获取新增数据的id

    // return $rn? '添加成功ID='.$id:'添加失败';

    /************************************************************

    /                       简易方法

    *************************************************************/

    // data($data);  将要处理的数据打包 $option[] 不太明白需要看文档

    //insertGetId() = insert() + getLastInsID() 直接添加完获取添加的ID


    // $data = ['name'=>'周华健','sex'=> 0,'age'=>58,'salary'=>3500000];

    // $id = Db::table('staff1')->insertGetId($data);

    // return $id?'添加成功ID='.$id:'添加失败';

    //====================添加多条数据=======================================

    //======================使用insertAll===================================

    $data =[

      ['name'=>'张飞','sex'=>0,'age'=>53,'salary'=>3215],

      ['name'=>'关羽','sex'=>0,'age'=>52,'salary'=>3510],

      ['name'=>'刘备','sex'=>0,'age'=>48,'salary'=>3599],

      ['name'=>'诸葛亮','sex'=>0,'age'=>32,'salary'=>3620]

    ];

    $num = Db::table('staff1')->data($data)->insertAll();

    return $num?'添加的数目为:'.$num:'添加失败';

   }

   /*///////////////////////////////////////////////////////

                        数据更新

   //////////////////////////////////////////////////////*/

   public function update()

   {

     //更新操作必须是基于前置查询,不允许无条件更新

     //更新使用update()

    //Db::raw( '原有数据不变 +要执行的操作')

     //将工资小于等于4000的员工,加薪1000元

     // $num = Db::table('staff1')

     // ->where('salary','<=',4000)

     // ->data(['salary'=>Db::raw('salary+1000')])

     // ->update();

     /////////////方法二//////////////////////

     $num =Db::table('staff1')

     ->update(['sex'=>2,'id'=>12]);

     return '返回:'.$num;

   }

   /*//////////////////////////////////////////////////

                         删除操作

   /////////////////////////////////////////////////////*/

   public function delete()

   {

     //删除主键ID

     // $num = Db::table('staff1')->delete(8);  //删除单个,多个需要用数组标识

     // $num =Db::table('staff1')->delete([12,13,14]);

     //////////////////////根据条件删除//////////////////////////////////

     $num =Db::table('staff1')

          ->where('salary','>',30000)

          ->delete();

    //////////////////////////情况数据表////////////////////////////////////

    // $num = Db::table('staff1')->delete(true);

     return $num?'删除成功,删除了'.$num:'删除失败';

   }

}

// dump((new Query)->select());

dump((new Query)->delete());


发布手记

热门词条