提供了DB facade(原始查找)、*查找构造器、Eloquent ORM三种操作方法
在laravel中修改连接数据库的文件有两处
修改 .env文件
修改config/database.php文件。
通过配置后,发现,如果我们的数据表有前缀的话,在.env文件中不能去设置
到此我们的数据库的配置就完成了
注:表前缀,如果有则添加,没有可以不修改。
DB类执行原生SQL语句
构造器自增自减:
DB::table('student')->increment('字段'); DB::table('student')->decrement('字段');
增加方法:
insert();可以同时增加一条或多条,返回值是布尔类型;
insertGetId(),只能增加一条数据,返回自增ID;
DB::table('无前缀表名')->insert(['name'=>'zhangsan','sex'=>0]);//单条数据; DB::table('无前缀表名')->insert([ ['name'=>'zhangsan','sex'=>0], ['name'=>'zhangsan','sex'=>0] ]);//多条数据; $id = DB::table('无前缀表名') ->insertGetId(['name'=>'zhangsan','sex'=>0]);//单条数据;
更新方法:
update([]); 更新所有的字段,返回值为受到影响的行数;
increment('字段',值)--递增; decrement()--递减; 只是修改某个字段
where('字段','运算符','值')如果运算符为‘=’,可以不写
DB::table('无前缀表名')->where('id','2')->update(['name'=>'张三丰']);
查询方法:
* 取出基本数据
DB::table('表')->get() 相当于:select * from 表;
返回值为集合对象
获取循环数据:
foreach($res as $k=>$v){ echo $v->id; //此处是对象,不是数组 }
配合where()方法,还有'或者'关系:orWhere()
DB::table('表')->where()->orWhere()->get();
* 取单行数据
first()方法:返回值是一个对象;等价于limit 1;
DB::table('表')->first();
* 取出某一行的某一个值
value()方法;
DB::table('表')->where('id','2')->value('name');
DB::table('表')->where('id','2')->value('name');
* 获取某些字段的值
select()方法;
DB::table('表')->where('id','2')->select('name','sex')->get();
设置别名:
DB::table('表')->where('id','2')->select('name as na','sex') ->get();
排序操作:orderBy('name','desc')
分页操作:
limit():限制输出条数;
offset(n):从第n+1条开始;
删除操作(工作中使用修改代替删除)
物理删除,逻辑删除;
delete():删除记录;返回的是影响的数据;
truncate():清空整个数据表;
DB::table('表')->where('id','2')->delete();
执行任意的SQL语句
* 执行任意的insert、update、delete语句
DB::statement('');
* 执行任意的select语句
DB::select('');