laravel学习记录——基本数据库增删改查操作

原生sql:
1.原生select查询

我装的是laravel5.7版本

 public function homeInfo()
 {
     //查询
     $name = 'lee';
     $user = DB::select('select * from `users` where `name` = ?',[$name]);
     dd($user);
 }
#也可以直接命名要绑定的参数
     $user = DB::select('select * from `users` where `name` = :name',['name'=>$name]);

查询结果是一个stdClass对象数组
在这里插入图片描述

2.原生insert插入
#若插入成功,则会返回true
$name = '农夫';
$email = 'nonfu@gmail.com';
$password = bcrypt('123456');
$flag = DB::insert('insert into `users` (`name`,`email`,`password`) value (?,?,?)',[$name,$email,$password]);
dd($flag);

在这里插入图片描述
然后看一下数据库,成功添加进去了
在这里插入图片描述

3.原生update更新
$name = Str::random(8);
$id =4;
$affectRows = DB::update('update `users` set `name` = ? where `id` = ?',[$name,$id]);
dd($affectRows);

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

4.原生delete删除
$id = 4;
$affectRows = DB::delete('delete from `users` where id = ?',[$id]);
dd($affectRows);

在这里插入图片描述
已经成功删除了
在这里插入图片描述

laravel自带的查询构造器

1.查询:

$name = 'lee';
$user = DB::table('users')->where('name',$name)->get();

查询的结果是一个stdClass对象数组
在这里插入图片描述
如果想要只查询单条数据

$user = DB::table('users')->where('name',$name)->first();

在这里插入图片描述
如果你只想查询指定字段的话

$name = 'lee';
$user = DB::table('users')->select('id', 'name', 'password')->where('name', $name)->first();

2.插入

$flag = DB::table('users')->insert([
			'name' => Str::random(10),
			'email' => Str::random(8) . '@gmail.com',
			'password' => bcrypt('123456')
		]);
dd($flag);

如果你需要插入时返回主键id

$flag = DB::table('users')->insertGetId([
			'name' => Str::random(10),
			'email' => Str::random(8) . '@gmail.com',
			'password' => bcrypt('123456')
		]);

一次插入多条

$flag = DB::table('users')->insert([
	['name' => Str::random(10), 'email' => Str::random(8) . '@gmail.com', 'password' => bcrypt('123456')],
	['name' => Str::random(10), 'email' => Str::random(8) . '@163.com', 'password' => bcrypt('123456')],
	['name' => Str::random(10), 'email' => Str::random(8) . '@qq.com', 'password' => bcrypt('123456')],
]);

3.更新

$client_id = 2;
$affectedRows = DB::table('client')->where('client_id', $id)->update(['name' => Str::random(8)]);

#where有第二个参数,如果不写的话默认第二个参数是‘=’
$affectedRows = DB::table('client')->where('client_id','>',$id)->update(['name' => Str::random(8)]);

某个字段增加数量

$affetctRows = DB::table('client')->where('client_id', 1)->increment('nums',5);//nums字段加5

4.删除

$client_id = 3;
$affectedRows = DB::table('client')->where('id', '>=', $id)->delete();

删除会返回影响行数

清空表并充值自增主键ID

$affectedRows = DB::table('client')->truncate();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值