thinkphp5 db类怎么使用

后端开发   发布日期:2024年12月08日   浏览次数:183

本篇内容介绍了“thinkphp5 db类怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

一、连接数据库

连接数据库有两种方式,一种是在config.php中配置,另一种是在实例化Db类时传入连接参数。

在config.php中配置:

  1. return [
  2. // 数据库类型
  3. 'type' => 'mysql',
  4. // 服务器地址
  5. 'hostname' => '127.0.0.1',
  6. // 数据库名
  7. 'database' => 'test',
  8. // 数据库用户名
  9. 'username' => 'root',
  10. // 数据库密码
  11. 'password' => '',
  12. // 数据库连接端口
  13. 'hostport' => '',
  14. ];

实例化Db类时传入连接参数:

  1. use thinkDb;
  2. $config = [
  3. // 数据库类型
  4. 'type' => 'mysql',
  5. // 服务器地址
  6. 'hostname' => '127.0.0.1',
  7. // 数据库名
  8. 'database' => 'test',
  9. // 数据库用户名
  10. 'username' => 'root',
  11. // 数据库密码
  12. 'password' => '',
  13. // 数据库连接端口
  14. 'hostport' => '',
  15. ];
  16. Db::connect($config);

二、基本操作

1.查询操作

  1. use thinkDb;
  2. //查询一条数据
  3. Db::table('user')->where('id', 1)->find();
  4. //查询多条数据
  5. Db::table('user')->where('age', '>', 18)->select();

2.插入操作

  1. use thinkDb;
  2. $data = [
  3. 'username' => 'admin',
  4. 'password' => md5('admin'),
  5. 'sex' => 1,
  6. 'age' => 20,
  7. ];
  8. Db::table('user')->insert($data);

3.更新操作

  1. use thinkDb;
  2. Db::table('user')->where('id', 1)->update(['age' => 21]);

4.删除操作

  1. use thinkDb;
  2. Db::table('user')->where('id', 1)->delete();

三、高级操作

1.链式操作

链式操作可以简化sql语句的书写。

  1. use thinkDb;
  2. Db::table('user')
  3. ->alias('u')
  4. ->join('role r', 'u.role_id=r.id')
  5. ->where('u.id', 1)
  6. ->field('u.username, r.name')
  7. ->find();

2.调试方法

在开发环境中,我们经常需要查看sql语句的执行情况,Db类提供了三个调试方法:getLastSql、getExplain和getSqlLog。

  1. use thinkDb;
  2. Db::table('user')->getLastSql();
  3. Db::table('user')->where('age', '>', 18)->getExplain();
  4. Db::table('user')->where('age', '>', 18)->select();
  5. Db::table('user')->getLastSql();
  6. print_r(Db::getSqlLog());

getLastSql方法可以获取最后一次执行的sql语句。

getExplain方法可以获取sql语句的执行计划。

getSqlLog方法可以获取所有执行的sql语句和执行时间。

以上就是thinkphp5 db类怎么使用的详细内容,更多关于thinkphp5 db类怎么使用的资料请关注九品源码其它相关文章!