Laravel DB类操作数据库

首先要对默认的.env文件进行一下配置。
在这里插入图片描述

修改8-13行的位置

DB_CONNECTION=mysql//数据库类型
DB_HOST=localhost//数据库地址
DB_PORT=3306//端口
DB_DATABASE=laravel//使用数据库
DB_USERNAME=root//用户名
DB_PASSWORD=root//密码

在这里插入图片描述
然后是建议关闭一下config/database.php里的严格模式
在这里插入图片描述



既然是数据库那自然涉及到增删改查,而在laravel已经配置好DB门面的别名了,所以我们不需要再去配置别名,直接去web.php定义路由,当然因为我这里像把方法写在前台文件夹里所以进行了群组嵌套。

//前台路由写法
Route::group(['prefix'=>'Home/test'], function () {
    
    Route::match(['get'],'index', 'Home\IndexController@index');
    Route::match(['get'],'index1', 'Home\IndexController@index1');

    //DB门面的增删改查
    Route::group(['prefix'=>'DB'], function () {
    
    Route::match(['get'],'add', 'Home\IndexController@add');//增
    Route::match(['get'],'del', 'Home\IndexController@del');//删
    Route::match(['get'],'update', 'Home\IndexController@update');//改
    Route::match(['get'],'select', 'Home\IndexController@select');//查

    });


});

当然数据库这里就不再演示创建了。


1.insert

insert():增加一条或多条数据,返回布尔
insertGetId(一维数组):只能增加一条数据,返回自增的id

引入DB:

<?php

namespace App\Http\Controllers\Home;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Input;
use DB;//必须引用

Controller层:

1.插入多条数据

public function add(){
    	//定义关联的表
    	$db = DB::table('user');
    	//使用insert
    	$result= $db -> insert([
    		[
    			'username' => 'admin''password' => '123456''age' => '99'
    		],
    		[
    			'username' => 'admin2''password' => '123456''age' => '98'
    		],
    	]);
    	dd($result);
    }

2.插入一条数据

   public function add(){
    	//定义关联的表
    	$db = DB::table('user');
    	//使用insert
    	$result = $db -> insert(
    		[
    			'username' => 'admin',
    			'password' => '123456',
    			'age' => '99'
    		]
    	);
    	dd($result);
    }

浏览器执行:
在这里插入图片描述数据库:
在这里插入图片描述3.使用insertGetId

public function add(){
    	//定义关联的表
    	$db = DB::table('user');
    	
    	//插入一条数据返回id
    	$result = $db -> insertGetId([
    			'username' => 'admin3',
    			'password' => '123456',
    			'age' => '98'
    	]);
    	dd($result);
    }

浏览器执行:
在这里插入图片描述数据库:
在这里插入图片描述


2.update

update()可以修改整个记录中的全部字段
increment()和decrement()表示修改数字字段,自增或自减

1.update

Controller层:(这里涉及到了where方法,where([字段],[运算符],[值]),如果where第二个运算符为=号,则可以省略)

   public function update(){
    	$db = DB::table('user');
    	//把id=1的用户名修改
    	$result = $db -> where('id','=','3') -> update([
    		'username' => 'user'

    	]);
    	dd($result);
    }

浏览器访问:(返回的是受影响行数)
在这里插入图片描述数据库:
在这里插入图片描述


3. get查询数据

get()查询全部数据,返回结果集
first()取出单行数据
value()取出具体的数值(仅限一个)
取出指定字段(允许多个字段)

1.get()查询全部返回结果集

Controller层:

 public function select(){
    	$db = DB::table('user');
    	//查询全部
    	$data = $db -> get();
    	dd($data);
    }

浏览器运行:
在这里插入图片描述也可以循环输出,其中$value是对象

 public function select(){
    	$db = DB::table('user');
    	//查询全部
    	$data = $db -> get();
    	//循环数据
    	foreach ($data as $key => $value) {
    		echo "当前id是:{$value -> id},账户是{$value -> username},年龄是{$value -> age}<br/>";
    	}
    	
    }

在这里插入图片描述
以及可以使用where来搜索我们需要的数据。

 public function select(){
    	$db = DB::table('user');
    	//查询全部
    	$data = $db -> get();
    	//循环数据
    	foreach ($data as $key => $value) {
    		echo "当前id是:{$value -> id},账户是{$value -> username},年龄是{$value -> age}<br/>";
    	}

    	//查询id大于3并且年龄大于80
    	$result = $db -> where('id','>','3') -> where('age','>','98') -> get();
    	dd($result);
    	
    }

在这里插入图片描述也可以采用orWhere,orWhere便是sql中 或 的意思。

public function select(){
    	$db = DB::table('user');
    	//查询全部
    	$data = $db -> get();
    	//循环数据
    	foreach ($data as $key => $value) {
    		echo "当前id是:{$value -> id},账户是{$value -> username},年龄是{$value -> age}<br/>";
    	}
    	//查询id大于4或者年龄大于97的信息
    	$result = $db -> where('id','>','4') -> orWhere('age','>','97') -> get();
    	dd($result);
    	
    }

在这里插入图片描述
2.first()取出单行数据

Controller层:

 public function select(){
    	$db = DB::table('user');
    	$result = $db -> first();
    	dd($result);
    }

浏览器运行:
在这里插入图片描述

3.value()取出具体的数值(仅限一个)

Controller层:

public function select(){
	$db = DB::table('user');
	//取出指定的单条数据
	$result = $db -> where('id','3') -> value('username');
	dd($result);	
}

浏览器运行:
在这里插入图片描述

4.取出指定字段(允许多个字段)

Controller层:

public function select(){
	    $db = DB::table('user');
	    //取出指定多个字段
    	$result = $db -> select('id','username','password') ->get();
    	dd($result);
	    dd($result);	
}

浏览器运行:
在这里插入图片描述

5.orderBy()排序操作

public function select(){
	    $db = DB::table('user');
	   $result = $db -> orderBy('id','desc') -> get();
	    dd($result);	
}

在这里插入图片描述

4.delete

Controller层:

  public function del(){
    	$db = DB::table('user');
    	$result = $db -> where('id','=','3') -> delete();
    	dd($result);

    }

在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Deeeelete

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值