以实例演示:查询构造器中的10个最常用的方法:
Table(),field(),order(),where(),limit(),insert(),insertAll(),update(),delete(),以及如何获取自增主键和数据打包方法data()
实例代码如下:
实例
<?php namespace app\index\controller; use think\db; class Query { //单条查询 public function find() { $res=Db::table('students') // ->field('name,sex,grade') ->field(['name'=>'姓名','sex'=>'性别','grade'=>'成绩']) ->where('id','<=',10) ->find(); dump($res); } //多条记录查询 public function select() { $res=Db::table('students') ->field(['name'=>'姓名','sex'=>'性别','grade'=>'成绩']) // ->where('grade > 80') ->where('grade','>',80) // ->order('grade DESC') ->order('grade','DESC') ->limit(3) ->select(); dump($res); } //插入数据 public function insert() { // $data=[ // 'name'=>'鲁迅', // 'sex'=>0, // 'age'=>58, // 'grade'=>140 // ]; // // $num = Db::table('students')->insert($data); // // $id=Db::getLastInsID(); // // return $num ? '添加成功,ID='.$id : '没有记录被添加'; // // $id = Db::table('students')->insertGetId($data); // // $id=Db::getLastInsID(); // // return $id ? '添加成功,ID='.$id : '没有记录被添加'; // $num = Db::table('students')->data($data)->insert(); // $id=Db::getLastInsID(); // return $num ? '添加成功,ID='.$id : '没有记录被添加'; // $data = [ ['name'=>'王安石','sex'=>0,'age'=>45,'grade'=>125], ['name'=>'韩愈','sex'=>0,'age'=>53,'grade'=>133], ['name'=>'李清照','sex'=>1,'age'=>38,'grade'=>145] ]; $num = Db::table('students')->data($data)->insertAll(); return $num ? '添加成功'.$num.'条记录' : '没有记录被添加'; } //更新数据 public function update() { // $num = Db::table('students') // ->where('grade','<=',76) // ->data(['grade'=>Db::raw('grade+10')])//获取原始值 // ->update(); // return $num ? '更新成功'.$num.'条记录' : '没有记录被更新'; $num=Db::table('students') ->update(['grade'=>75,'id'=>7]); return $num ? '更新成功'.$num.'条记录' : '没有记录被更新'; } //删除记录 public function delete() { // $num = Db::table('students')->delete(38); // $num = Db::table('students')->delete([38,39,40]);//删除多条 $num = Db::table('students') ->where('grade','=',38) ->delete(); // $num = Db::table('students')->delete(true);//表清空 // return $num ? ' 删除成功'.$num.'条记录' : '没有记录被删除'; } }
运行实例 »
点击 "运行实例" 按钮查看在线实例