时间: 2020-09-3|tag:49次围观|0 条评论

数据库操作之原生sql操作

<?phpnamespace app\index\controller;use think\Db;class Index{    public function index()    {        echo "hello world";    }    public function sqlAdd(){        //插入数据        $result=Db::execute('insert into think_test (name,state) values("周杰伦",1)');        var_dump($result);//返回受影响的行数    }    public function sqlUpd(){        //修改数据        $result=Db::execute('update think_test set name="张学友",state=0 where id=1');        var_dump($result);//返回受影响的行数    }    public function sqlDel(){        //删除数据        $result=Db::execute('delete from think_test where id=1');        var_dump($result);//返回受影响的行数    }    public function sqlSel(){        //查询数据        $result=Db::query('select * from think_test');        var_dump($result);//返回数组    }}

 

数据库操作之查询构造器

//==========================查询构造器==========================    public function tabAdd(){        //插入数据 如果不写表前缀 把table改为name即可        $result=Db::table('think_test')->insert(['name'=>'段誉','state'=>1]);        var_dump($result);    }    public function tabUpd(){        //修改数据 如果不写表前缀 把table改为name即可        $result=Db::table('think_test')->where('id',9)->update(['name'=>'虚竹']);        var_dump($result);    }    public function tabDel(){        //删除数据 如果不写表前缀 把table改为name即可        $result=Db::table('think_test')->where('id',9)->delete();        var_dump($result);    }    public function tabSel(){        //查询数据 如果不写表前缀 把table改为name即可        $result=Db::table('think_test')->select();        var_dump($result);    }    //使用助手函数db    public function dbSel(){        $db=db('test');//参数为表名        $result=$db->select();        var_dump($result);        //其他操作类似        //ps:助手函数db默认每次都会重新连接数据库,所以不推荐使用    }    //链式操作    public function linkSel(){        $list=Db::name('test')            ->where('state',1)            ->field(['name','state'])            ->order('id','desc')            ->limit(10)            ->select();        var_dump($list);        //ps:链式操作select() 要在最后 其他条件顺序无所谓        //更多方法请查询手册    }

 数据库操作之模型

<?phpnamespace app\index\controller;use app\index\model\User as UserModel;class User{    //==========================模型==========================    /*模型是一种对象关系映射简称ORM,一般来说每个数据表会和一个模型对应    ,模型不是简单的CURD操作,那种用Db类即可,模型的Db类的区别在于,模型    查询返回的是对象,Db查询返回的是数组,模型是比Db类更高级的数据封装    */    //插入数据属性    public function add1(){        $user = new UserModel();        $user->name = '郭靖';        $user->email = 'guojing@qq.com';        $user->birthday = strtotime('2000-1-1');        if($user->save()){            return '插入成功';        }else{            return '插入失败';        }    }    //插入数据数组    public function add2(){        $user['name'] = '黄蓉';        $user['email'] = 'huangrong@qq.com';        $user['birthday'] = strtotime('2003-1-1');        if(UserModel::create($user)){            return '插入成功';        }else{            return '插入失败';        }    }    //插入数据多条    public function addList(){        $user = new UserModel();        $list = [            ['name'=>'张三','email'=>'zhangsan@qq.com','birthday'=>strtotime('2000-1-1')],            ['name'=>'李四','email'=>'lishi@qq.com','birthday'=>strtotime('2005-1-1')]        ];        if($user->saveAll($list)){            return '插入成功';        }else{            return '插入失败';        }    }    //更新数据 查找并更新    public function upd1(){        $user = UserModel::get(1);//参数为id        // var_dump($user);        $user->name = '刘德华';        $user->email = 'liudehua@qq.com';        if($user->save()){            return '更新成功';        }else{            return '更新失败';        }    }    //更新数据 直接更新    public function upd2(){        $user = new UserModel();        $user -> save(['name'=>'郭富城','email'=>'guofucheng@qq.com'],['id'=>1]);    }    //更新数据 多条    public function upd3(){        $user = new UserModel();        $list=[            ['id'=>1,'name'=>'张三丰','email'=>'zsf@qq.com'],            ['id'=>2,'name'=>'欧阳锋','email'=>'oyf@qq.com']        ];        if($user->saveAll($list)){            return '更新成功';        }else{            return '更新失败';        }    }    //查询数据 id    public function select1(){        $user = UserModel::get(1);        echo $user->name.'<br/>';        echo $user->email.'<br/>';        echo $user->birthday.'<br/>';    }    //查询数据 数组    public function select2(){        $user = UserModel::get(['name'=>'张三']);        echo $user->name.'<br/>';        echo $user->email.'<br/>';        echo $user->birthday.'<br/>';    }    //查询数据    public function select3(){        $user = new UserModel();        $result = $user->where('name','张三')->find();        echo $result->birthday;    }    //查询数据 多个数据    public function selectAll(){        $list = UserModel::all([1,2,3]);        foreach ($list as $key => $value) {            echo $value->name.'<br/>';            echo $value->email.'<br/>';            echo $value->birthday.'<br/>';        }    }}

 

文章转载于:https://www.cnblogs.com/wordblog/p/10432820.html

原著是一个有趣的人,若有侵权,请通知删除

本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自起风了,原文地址《thinkphp5学习总结!
   

还没有人抢沙发呢~