Correction status:Uncorrected
Teacher's comments:
Table(),field(),order(),where(),limit(),insert(),insertAll(),update(),delete(),以及如何获取自增主键和数据打包方法data():
<?php namespace app\index\controller; use \think\Db; class Demo { public function find() { //测试数据库是否连接成功 //dump(\think\Db::query("select * from staff")); //table()获取表明,find()获取满足条件的第一条。 //查询单条记录 $res = Db::table('staff') ->field(['name'=>'姓名','sex'=>'性别','salary'=>'工资']) ->where('staff_id','=',5)//wherr('字段','表达式','条件') ->find(); dump($res); } public function select() { //查询满足条件的多条记录 $res = Db::table('staff') ->where('salary'>3000) ->order('salary DESC') ->limit(2) ->select(); dump($res); } public function insert() { //新增单条记录insert() // $data = // [ // 'name' => '好嫂子', // 'age' => '32', // 'sex' => '1', // 'salary' => 6000 // ]; // $res = Db::table('staff')->insert($data); // $id = Db::getlastInsID(); // return $res ? '添加成功,id='.$id :'没有添加成功'; //推荐使用data()方法将要新增的记录进行打包,尽量不要在最终方法中传入参数 //新增多条记录 insertAll(),语法与新增单条基本一致 //新增多条记录,返回新增记录的数量 $data = [ ['name'=>'田老师', 'age'=>30, 'sex'=>1, 'salary'=>7000], ['name'=>'杨国福', 'age'=>50, 'sex'=>0, 'salary'=>6400], ['name'=>'铁木真', 'age'=>34, 'sex'=>0, 'salary'=>5400], ]; $res = Db::table('staff')->data($data)->insertAll(); return $res ? '添加成功'.$res.'条记录' : '没有记录被添加'; } public function update() { //更新操作必须是基于前置查询,不允许无条件更新 //更新操作使用的是update()方法 //例如:将工资小于等于5000的,加薪1000 $num = Db::table('staff') ->where('salary','<=','7000') ->data(['salary'=>DB::raw('salary+1000')]) ->update(); return $num ? '更新成功'.$num.'条记录~~' : '没有记录被更新'; } public function delete() { //删除也更新操作一样,也必须是基于前置查询,绝不允许无条件删除 //删除操作使用:delete()方法 //$num = DB::table('staff')->delete(8); // $num = Db::table('staff')->delete([12,14,18]);//多个主键使用数组传入 $num = DB::table('staff')->where('salary','>','40000')->delete(); //如果想删除全部记录,可直接给delete()方法传入true: delete(true) //$num = Db::table('staff')->delete(true); return $num ? '删除成功'.$num.'条记录~~' : '没有记录被删除'; } }
点击 "运行实例" 按钮查看在线实例