Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments:常用的方法很多的, 有不少功能是重复的, 只不过是语法糖罢了
first()
//默认查询全部字段
$users = DB::table('users')->first();
//只返回username和email字段(数组表示)
$users = DB::table('users')->first(['username','email']);
get()
toArray()
//默认查询全部字段-对象
$users = DB::table('users')->get();
//只返回username和email字段
$users = DB::table('users')->get(['username','email']);
//转为数组
$users = DB::table('users')->get()->toArray();
value()
$users = DB::table('users')->value('email');
pluck(值)
pluck(值,键)
//键为索引数组
$users = DB::table('users')->pluck('username');
//指定email为键名
$users = DB::table('users')->pluck('username', 'email');
find()
$users = DB::table('users')->find(20);
where
//默认为等于
$users = DB::table('users')->where('id', 19)->get();
//操作符:>、 <、 >=、 <=、 <>、 like 等
$users = DB::table('users')->where('age', '>=', 25)->get();
$users = DB::table('users')->where('username', 'like', '%小%')->get();
//多条件可以用数组
$users = DB::table('users')->where([
'age' => 25,
'gender' => '男'
])->get();
//如果条件非等于
$users = DB::table('users')->where([
['age', '>=', 25],
['gender', '=', '男']
])->get();
limit()
$users = DB::table('users')->limit(5)->get();
insert()
//新增一条记录
DB::table('users')->insert([
'username' => '李白',
'password' => '123456',
'email' => 'libai@php.cn',
]);
//新增多条记录
DB::table('users')->insert([
[...],
[...]
]);
insertGetId()
//新增一条记录
DB::table('users')->insertGetId([
'username' => '李白',
'password' => '123456',
'email' => 'libai@php.cn',
]);
update()
//更新修改一条数据
DB::table('users')->where('id', 2202)->update([
'username' => '果冻',
'email' => 'guodong@php.cn'
]);
updateOrInsert()
//参数 1:修改的条件
//参数 2:修改的内容(新增的内容)
DB::table('users')->updateOrInsert(
['id'=>2202],
['username'=>'洪海', 'password'=>'123456']
);
delete()
//默认索引
DB::table('users')->delete(2202);
//指定ID
DB::table('users')->where('id', 2202)->delete();
使用 delete()删除数据, 一定要加上 where 条件, 否则数据会被清空
select()
//只显示username和email字段
$users = DB::table('users')->select('username', 'email')->get();
//设置username别名为name
$users = DB::table('users')->select('username as name', 'email')->get();
//max()
return DB::table('users')->max('age');
//min()
return DB::table('users')->min('age');
//avg()
return DB::table('users')->avg('age');
//sum()
return DB::table('users')->sum('age');
//count()
return DB::table('users')->count();
count(*)函数不指定字段和指定字段查询效率没有区别,因为它只统计总的记录数。