实例
<?php namespace app\index\controller; use think\Db; class Query { public function finnd() { //查询单条记录 $res = Db::table('member') //将字段写在数组中的好处是:可以给每个字段起个别名 ->field(['member_name'=>'账号','level'=>'等级','bin_qq'=>'QQ','balance'=>'余额','time'=>'时间']) ->where('member_id','=',3) //where(字段,表达式,条件) 相等的情况下,表达式可以省略。 ->find(); dump($res); } public function select() { //查询满足条件的多条记录 $res = Db::table('member') ->field(['member_name'=>'账号','level'=>'等级','bin_qq'=>'QQ','balance'=>'余额','time'=>'时间']) //查询字段 ->where('balance','>',100) //查询余额大于100的会员信息 ->order('balance','DESC') //进行降序排序 ->limit(1) //限制显示数量 ->select(); dump($res); } // public function insert() // { //新增单条记录 // $data = [ // 'member_name' => '小李飞刀', // 'level' => '普通会员', // 'bin_qq' => 6577999, // 'balance' => 123 // ]; // $id = Db::table('member')->insertGetId($data); // return $id ? '添加成功,id='.$id : '没有记录被添加'; //新增多条记录用:insertAll() // $data = [ // ['member_name'=>'张三', 'level'=>'VIP会员', 'bin_qq'=>879887, 'balance'=>544], // ['member_name'=>'李四', 'level'=>'代理会员', 'bin_qq'=>43535, 'balance'=>129], // ['member_name'=>'王五', 'level'=>'普通会员', 'bin_qq'=>678768, 'balance'=>84.49] // ]; // $num = Db::table('member')->data($data)->insertAll(); // return $num ?'成功添加了id='.$num.'条记录' : '没有记录被添加'; // } public function update() { //更新操作:必须基于前置查询,不允许无条件更新 //更新操作使用update(),也是一种终极方法 $num = Db::table('member') ->where('balance','>=',5000) ->data(['balance'=> Db::raw('balance+101')]) //在原来的金额上直接增加101 ->update(); return $num ? '成功更新了'.$num.'条记录' : '没有记录被更新'; } public function delete() { //删除操作也是基于前置查询,不允许无条件删除 $num = Db::table('member') ->where('balance','>',5000) //删除条件:将金额大于5000的用户删除 ->delete(); //方法二:如果想一张表全部清空直接在delete中传入true。此方法一但删除无法恢复,最好采用软删除来实现 // $num = Db::table('member')->delete(true); return $num ? '成功删除了'.$num.'条记录' : '没有记录被删除'; } }
运行实例 »