首页 > 网站 > WEB开发 > 正文

Laravel数据库操作之-增删改查CURD操作

2024-04-27 15:16:08
字体:
来源:转载
供稿:网友

数据库增删改查CURD操作

// 添加数据 返回bool值// $bool = DB::insert('insert into student(name,age) values(?,?)',['imooc',19]);// var_dump($bool);// 更新数据// $num = DB::update('update student set age = ? where name = ?',[20,'sean']);// var_dump($num);// 查询数据// $students = DB::select('select * from student where id > ?',[1001]);// dd($students);// 删除数据$num = DB::delete('delete from student where id > ?',[1001]);var_dump($num);

数据库操作之-查询构造器

查询构造器简介及新增数据使用查询构造器修改数据使用查询构造器删除数据使用查询构造器查询数据查询构造器中的聚合函数

1. 查询构造器简介

laravel查询构造器(query builder)提供方便、流畅的接口,用来建立执行数据库查找语法使用PDO参数绑定,以保护应用程序免于SQL注入因此传入的参数不需额外转义特殊字符基本上可以满足所有的数据库操作,而且在所有支持的数据库系统上都可以执行

1. 使用查询构造器新增数据

// 插入数据 返回插入数据的bool值// $bool = DB::table('student')->insert(// ['name'=>'imooc','age'=>18]// );// var_dump($bool);// 插入数据 返回插入数据的id// $id = DB::table('student')->insertGetId(// ['name'=>'sean','age'=>18]// );// var_dump($id);// 插入多条数据$bool = DB::table('student')->insert( [ ['name'=>'name1','age'=>20], ['name'=>'name2','age'=>21], ] );var_dump($bool);

2. 使用查询构造器更新数据

更新为指定的内容自增和自减// 更新数据,返回受影响行数// $num = DB::table('student')// ->where('id',1003)// ->update(['age'=>30]);// var_dump($num);// 自增 默认自增1 将所有的age自增1// $num = DB::table('student')->increment('age');// 自增 将所有的age自增3// $num = DB::table('student')->increment('age',3);// 自减 将所有的age自减3// $num = DB::table('student')->decrement('age',3);// 自减 默认自减1 将所有的age自减1// $num = DB::table('student')->decrement('age');// 将id为1003的age自减3// $num = DB::table('student')// ->where('id',1003)// ->decrement('age',3);// 自减的同时,修改其他字段$num = DB::table('student') ->where('id',1003) ->decrement('age',3,['name'=>'iimooc']);var_dump($num);

3. 使用查询构造器删除数据

deletetruncate// $num = DB::table('student')// ->where('id',1006)// ->delete();// $num = DB::table('student')// ->where('id','>=',1003)// ->delete();// var_dump($num);// 不返回任何东西 删除所有数据DB::table('student')->truncate();

4. 使用查询构造器查询数据

get()first()where()pluck()lists()select()chunk()// 插入数据 返回插入数据的bool值// $bool = DB::table('student')->insert([// ['id'=>1001,'name'=>'name1','age'=>18],// ['id'=>1002,'name'=>'name2','age'=>18],// ['id'=>1003,'name'=>'name3','age'=>19],// ['id'=>1004,'name'=>'name4','age'=>20],// ['id'=>1005,'name'=>'name5','age'=>21]// ]);// var_dump($bool);// get() 获取表的所有数据// $students = DB::table('student')->get();// first() 获取结果集中的第一条数据// $student = DB::table('student')// ->orderBy('id','desc')// ->first();// where// $students = DB::table('student')// ->where('id','>=',1002)// ->get();// 多个条件// $students = DB::table('student')// ->whereRaw('id >= ? and age > ?',[1001,18])// ->get();// pluck 返回结果集中的字段// $names = DB::table('student')// ->pluck('name');// lists 返回结果集中的字段 指定某个字段做下标// $names = DB::table('student')// ->lists('name','id');// select// $selects = DB::table('student')// ->select('id','name','age')// ->get();// dd($selects);// chunkecho '<PRe>';DB::table('student')->chunk(2,function($students){ var_dump($students); if (true) { return false; }});

5. 使用查询构造器中的聚合函数

count()max()min()avg()sum()// $num = DB::table('student')->count();// $max = DB::table('student')->max('age');// $min = DB::table('student')->min('age');// $avg = DB::table('student')->avg('age');$sum = DB::table('student')->sum('age');var_dump($sum);
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表