ThinkPHP5.0数据库操作总结

  • 本文只介绍工作中常用的一些数据库操作,更多方法可参考官方提供的文档。
  • 有表前缀使用Db::name(),无表前缀使用Db::table()
  • 如果你的数据表没有使用表前缀功能,那么name和table方法的一样的效果。

一、查询

1、查询一条数据:返回一维数组,查询结果不存在返回null

Db::name()->where()->find();

2、查询多条数据:返回二维数组,查询结果不存在返回空数组

Db::name()->where()->select();

3、助手函数

db()->where()->find();

db()->where()->select();

4、EXP查询

Db::name()->where("id","exp",">1 AND name = 'bbb'")->select();

5、多个字段查询

Db::name()->where('id','>=',4)->where("nickname","like","%bbb%")->select();

6、视图查询

Db::view('User','id,name')
    ->view('Profile','truename,phone,email','Profile.user_id=User.id')
    ->view('Score','score','Score.user_id=Profile.id')
    ->where('score','>',80)
    ->select();

二、修改

1、更新:返回影响数据的条数,没修改任何数据返回 0

Db:name()->where()->update();

2、助手函数

db()->where()->update();

三、删除

1、删除:返回影响数据的条数,没有删除返回 0

Db:name()->where()->delete();

2、助手函数

db()->where()->delete();

四、增加

1、增加一条数据:返回添加成功的条数,insert 正常情况返回 1

Db::name()->insert();

2、增加一条数据并返回主键值

Db::name()->insertGetId();

3、增加多条数据:返回添加成功的条数

Db::name()->insertAll();

4、助手函数

db()->insert();

db()->insertAll()

五、原生SQL

1、查询

Db::query('sql语句');

2、增删改

Db::execute('sql语句');

六、事务处理

Db::transaction(function(){

    //逻辑代码

    Db::name()->find();

    Db::name()->delete();

});

七、聚合查询

Db::name()->where()->count();

Db::name()->where()->max();

Db::name()->where()->min();

Db::name()->where()->avg();

Db::name()->where()->sum();

八、分页

//控制器
// 查询每页显示10条数据
$list = Db::name()->where()->paginate('每页显示条数','总记录数');
// 把分页数据赋值给模板变量list
$this->assign('list', $list);
// 渲染模板输出
return $this->fetch();


//模板中使用
    {volist name='list' id='user'}
  • {$user.nickname}
  • {/volist}
{$list->render()}

 

 

你可能感兴趣的:(框架)