laravel中的DB类为我们提供了两个形式来操作数据库
原生sql语句操作数据库
构建器操作数据库
创建测试控制器
(1)、运行原生 SQL 语句
配置好数据库连接以后,DB类为我们提供select、update、insert、delete等方法,方便我们来操作执行sql语句。
①、添加操作(insert)
// 添加操作
$ret = DB::insert(‘insert into test_member (name,age,email) values
(:name,:age,:email)’,
[‘:name’=>’张三’,’:age’=>20,’:email’=>’admin\@admin.com’]);
var_dump($ret); # 添加成功返回为true,否则为false
②、修改操作(update)
// 修改操作
$ret = DB::update(‘update test_member set age=:age where id=:id’, [‘:age’ =>
12, ‘:id’ => 1]);
dd($ret);
③、删除操作(delete)
// 删除操作
#$ret = DB::delete(“delete from test_member where id=:id”,[‘:id’=>1]);
dd($ret);
注:删除操作一定要写条件,否则后台很严重
④、查询操作(select)并在模板中显示
// 查询 select
$ret = DB::select(“select * from web64_user”);
$ret = DB::select(“select * from web64_user where id>=:id”,[‘:id’=>$id]);
dump($ret);
(2)、DB构建器操作数据库
Laravel
的数据库查询构造器提供了一个方便、流畅的接口,用来创建及运行数据库查询语句。它能用来执行应用程序中的大部分数据库操作,且能在所有被支持的数据库系统中使用。
Laravel 的查询构造器使用 PDO 参数绑定,来保护你的应用程序免受 SQL 注入的攻击。
①、查询数据操作
table(表名),这里的表名,如查有前缀不用写。
(一)、查询多条记录(get)
// 查询多条无条件
// 查询所有
$data = DB::table(‘user’)->get();
// 查询所有,并指定字段 推荐使第一种方式
$data = DB::table(‘user’)->get([‘name’,’age’]);
// 获取ID大于5的数据
$ret = DB::table(‘member’)->where(‘id’,’>=’,5)->get();
dd($ret);
(二)、查询单条记当(first)
// 查询单条数据
$ret = DB::table(‘member’)->where(‘id’, 5)->first();
dd($ret);
(三)、获取某个具体的值(value)
// 获取某个具体的值
$ret = DB::table(‘member’)->where(‘id’,5)->value(‘name’);
dd($ret);
(四)、获取一列数据(pluck)
// 获取一列数据
$ret = DB::table(‘member’)->pluck(‘name’);
获取数据库表中指定列的数据
(五)、排序操作(orderBy)
// 排序 以ID来进行倒序排列
$ret = DB::table(‘member’)->orderBy(‘id’,’desc’)->get();
dd($ret);
(六)、总条目数
# 总条目数
echo ‘count: ‘;
echo DB::table(‘member’)->count();
(七)、分页操作
此用法一般用于,接口和ajax分页
// 分页操作
$ret =
DB::table(‘member’)->orderBy(‘id’,’desc’)->offset(0)->limit(2)->get();
dd($ret);
②、添加数据操作(insert/ insertGetId)
对数据库中的某个表增加数据主要有两个函数可以实现,分别是insert()和insertGetId()
insert() 可以同时添加一条或多条,返回值是布尔类型。
insertGetId() 只能添加一条数据,返回自增的id。
(一)、添加数据
// 添加数据
$ret = DB::table(‘member’)->insert([
‘name’ => ‘张三丰’,
‘age’ => 50,
‘email’ => ‘ee\@ee.com’
]);
dd($ret);
// 添加数据并得到插入时的ID值
$ret = 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’],
]);
dd($ret);
③、修改数据(update)
$ret = DB::table(‘member’)->where(‘id’, 2)->update([
‘name’ => ‘修改一下’,
‘age’ => 50
]);
dd($ret);
④、删除数据(delete)
// 删除数据
$ret = DB::table(‘member’)->where(‘id’,2)->delete();
dd($ret);