欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

5.23 TP5.1数据库查询构造器的使用

程序员文章站 2022-03-06 13:24:57
...

1、数据库的链式查询

实例

  //查询工作大于3000的员工信息,并且只要姓名性别工作,按照工作降序排序,查询出5个员工
        $data = Db::table("staff")
                ->field("name,sex,salary")
                ->where("salary > 3000")
                ->order("salary desc")
                ->limit(5)
                ->select();
        dump($data);

//查询工作大于3000的员工信息,并且只要姓名性别工作,按照工作降序排序,查询出5个员工
        //表达式的其他写法
        $data = Db::table("staff")
            ->field(["name"=>"姓名","sex"=>"性别","salary"=>"工资"]) //相当于AS的用法 起别名
            ->where("salary",">",3000)
            ->order("salary","desc")
            ->limit(5)
            ->select();
        dump($data);

运行实例 »

点击 "运行实例" 按钮查看在线实例

2、数据库的单条插入操作,并且使用data()打包

实例

//数据库的单条插入, 并且使用data()打包,因为insert()是终极方法不建议把参数直接写到方法里面

        $data = [
            "name"=>"李洋",
            "sex" => 0,
            "age" => 23,
            "salary" =>1000
        ];
        $num = Db::table("staff")
            ->data($data)
            ->insert();
        dump($num);

运行实例 »

点击 "运行实例" 按钮查看在线实例

3、数据库的多条插入操作

实例

//数据库的多条条插入, 并且使用data()打包,因为insert()是终极方法不建议把参数直接写到方法里面

        $data = [
            ["name"=>"小红","sex" => 0,"age" => 23,"salary" =>1000],
            ["name"=>"小米","sex" => 1,"age" => 24,"salary" =>2000],
            ["name"=>"小明","sex" => 0,"age" => 25,"salary" =>3000],
        ];
        $num = Db::table("staff")
            ->data($data)
            ->insertAll();
        dump($num);

运行实例 »

点击 "运行实例" 按钮查看在线实例

4、更新操作update()

    

实例

 //将工资小于3000的人员的工资各加1000
        $data = Db::table("staff")
                ->where("salary","<",3000)
                ->data(["salary"=>Db::raw("salary+1000")])  //salary字段加1000
                ->update();
        dump($data);

运行实例 »

点击 "运行实例" 按钮查看在线实例

5、获取插入数据后的自增主键

实例

      //获取插入后的自增主键
        $data = [
            "name"=>"李超杰",
            "sex" => 0,
            "age" => 23,
            "salary" =>1000
        ];
        // insertGetId() 此方法不支持data()打包,所以需写入方法里面
        $id = Db::table("staff")->insertGetId($data);  
       dump($id);

运行实例 »

点击 "运行实例" 按钮查看在线实例

6、删除数据

    

实例

    //删除
        $data = Db::table("staff")
                ->where("id",39) //也可以传入数组批量删除
                ->delete();
        dump($data);

运行实例 »

点击 "运行实例" 按钮查看在线实例