laravel数据库操作

1.DB facade实现curd

$result = DB::select('select * from student');

$bool = DB::insert('insert into student(name, age) values(?, ?)', ['zhangsan', 18]);

$num = DB::update('update student set age = ? where id=?', [20, 1]);

$num = DB::delete('delete from student where id= ? ', [1]);

2.查询构造器

1)查询

$boole = DB::table('student')->insert(['name'=>'zhangsan', 'age'=>12]);

$insertId = DB::table('student')->insertGetId(['name'=>'zhangsan', 'age'=>12]);

$boole = DB::table('student')->insert([['name'=>'zhangsan', 'age'=>12],['name'=>'zhangsan', 'age'=>12],['name'=>'zhangsan', 'age'=>12]]);

2)更新

$num = DB::table('student')->where('id', 12)->update(['age'=>20]);

$num = DB::table('student')->where('id', 23)->increment('age', 2);

$num = DB::table('student')->where('id', 23)->decrement('age', 2);

$num = DB::table('student')->where('id', 23)->decrement('age', 2, ['name'=>23]);  //自减时同时修改其他数据

2)删除

$num = DB::table('student')->where('id', 1)->delete();

$num = DB::table('student')->where('id', '>', 1)->delete();

DB::table('student')->truncate();

3)使用查询构造器查询数据

$resutl = DB::table('student')->get();  //获取所有的记录

$firstData = DB::table('student')->where('id', '>', 1)->orderBy('id', 'desc')->first();  //获取第一条记录

$result = DB::table('student')->whereRaw('id >? and age > ?', [1,2])->get();  //whereRaw()可以写多个条件

$result = DB::table('student')->whereRaw('id >? and age > ?', [1,2])->pluck('name');  //pluck返回一个字段

$result = DB::table('student')->whereRaw('id >? and age > ?', [1,2])->lists('name', 'id');  //lists返回一个字段,第二个参数是返回以某个字段为键

$result = DB::table('student')->select('id', 'name', 'age')->whereRaw('id >? and age > ?', [1,2])->get();  //select()指定字段

DB::table('student')->chunk(10, function($students) {

return false;//这个是查询一部分的时候直接跳出

});  //chunk()每次获取多少条

2.查询构造器中的聚合函数

$num = DB::table('student')->count();  //统计

$max = DB::table('student')->max('age');  //返回最大数

$max = DB::table('student')->sum('age');  //返回最大数

$max = DB::table('student')->min('age');  //返回最大数

3.数据库操作之-Eloquent ORM

$student = Student::all();

$student = Student::find(1);  //根据主键进行查找

Student::findOrFail(100);  //根据主键进行查找,如果没有查到进行报错

Student::get();

Student::first();

Student::chunk(100, function($students){});

原文地址:https://www.cnblogs.com/shiwenhu/p/6605193.html