larval 操作mysql数据库_Laravel DB类操作数据库

laravel支持的数据库类型

MySQL

Pgsql

SQLite

SQL Server

laravel操作数据库所使用的扩展 pdo,一定要开启pdo扩展

配置连接数据库信息

在laravel中修改连接数据库的文件有两处

修改 .env文件

修改config/database.php文件。

laravel5.4之后对我们的数据库的编码就进行了默认改变,默认使用 utf8mb4

创建数据库

修改.env文件来连接数据库

通过配置后,发现,如果我们的数据表有前缀的话,在.env文件中不能去设置

到此我们的数据库的配置就完成了

注:表前缀,如果有则添加,没有可以不修改。

检查是否配置好

DB类执行原生SQL语句

// 添加操作

$ret = DB::insert('insert into test_member (name,age,email) values (:name,:age,:email)', [':name'=>'张三',':age'=>20,':email'=>'admin@admin.com']);

// 修改操作

$ret = DB::update('update test_member set age=:age where id=:id', [':age' => 12, ':id' => 1]);

// 查询 select

# 查询单条

$ret = DB::selectOne("select * from web64_user where id=:id",[':id'=>$id]);

# 查询多条

$ret = DB::select("select * from web64_user");

// 删除操作

$ret = DB::delete("delete from test_member where id=:id",[':id'=>1]);

定义路由

创建控制器

php artisan make:controller MydbController

数据表

控制器

DB构建器操作数据库

查询(get/first)

table(表名),这里的表名,如查有前缀不用写。

# 查询多条 get all

# all不可以接where条件

// 查询所有无条件

$data = DB::table('user')->get(); // 默认 [‘*’]

// 查询所有,并指定字段 推荐使第一种方式

$data = DB::table('user')->get(['name','age']);

// 获取ID大于5的数据

$ret = DB::table('member')->where('id','>=',5)->get();

// when 来进行条件的搜索

$kw = $request->get('kw','user');

// when字段 如果为真则执行匿名函数中的操作

$ret = DB::table('users')->when($kw,function (Builder $query) use ($kw){

$query->where('username','like',"%{$kw}%");

})->get();

# 查询单条记录

$ret = DB::table('member')->where('id', 5)->first();

# 获取某个具体的值

$ret = DB::table('member')->where('id',5)->value('name');

# 获取一列数据

$ret = DB::table('member')->pluck('name');

# 以ID为下标 name为值

$ret = DB::table('member')->pluck('name', 'id');

# 排序操作

$ret = DB::table('member')->orderBy('id','desc')->get();

# 查询总记录数

echo DB::table('member')->count();

# 分页获取数据

$ret = DB::table('member')->orderBy('id','desc')->offset(0)->limit(2)->get();

limit:表示限制输出的条数

offset:从什么地方开始,起始从0开始

$ret = DB::table('users')->whereIn('id',[2,3,5])->get()

$ret = DB::table('users')->whereBetween('id',[3,5])->get();

定义路由

控制器

添加数据操作(insert/ insertGetId)

对数据库中的某个表增加数据主要有两个方法可以实现,分别是insert()和insertGetId()

insert() 可以同时添加一条或多条,返回值是布尔类型。

insertGetId() 只能添加一条数据,返回自增的id。

// 添加数据

$ret = DB::table('member')->insert([

'name' => '张三丰',

'age' => 50,

'email' => 'ee@ee.com'

]);

// 添加数据并得到插入时的ID值

$id = DB::table('member')->insertGetId([

'name' => '小华',

'age' => 60,

'email' => 'ff@ff.com'

]);

// 添加多条记录

$ret = DB::table('member')->insert([

['name'=>'AAAA','age'=>20,'email'=>'111@111.com'],

['name'=>'BBBB','age'=>30,'email'=>'222@222.com'],

]);

修改数据(update)

$ret = DB::table('member')->where('id', 2)->update([

'name' => '修改一下',

'age' => 50

]);

删除数据(delete)

// 删除数据

$ret = DB::table('member')->where('id',2)->delete();

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值