ThinkPHP5的db类是封装了PDO的数据库操作类,使用非常方便,本文将介绍db类的使用方法。
一、连接数据库
连接数据库有两种方式,一种是在config.php中配置,另一种是在实例化Db类时传入连接参数。
在config.php中配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | return [
'type' => 'mysql' ,
'hostname' => '127.0.0.1' ,
'database' => 'test' ,
'username' => 'root' ,
'password' => '' ,
'hostport' => '' ,
];
|
登录后复制
实例化Db类时传入连接参数:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | use think\Db;
$config = [
'type' => 'mysql' ,
'hostname' => '127.0.0.1' ,
'database' => 'test' ,
'username' => 'root' ,
'password' => '' ,
'hostport' => '' ,
];
Db::connect( $config );
|
登录后复制
二、基本操作
1.查询操作
1 2 3 4 5 6 7 | use think\Db;
Db::table( 'user' )->where( 'id' , 1)->find();
Db::table( 'user' )->where( 'age' , '>' , 18)->select();
|
登录后复制
2.插入操作
1 2 3 4 5 6 7 8 9 10 | use think\Db;
$data = [
'username' => 'admin' ,
'password' => md5( 'admin' ),
'sex' => 1,
'age' => 20,
];
Db::table( 'user' )->insert( $data );
|
登录后复制
3.更新操作
1 2 3 | use think\Db;
Db::table( 'user' )->where( 'id' , 1)->update([ 'age' => 21]);
|
登录后复制
4.删除操作
1 2 3 | use think\Db;
Db::table( 'user' )->where( 'id' , 1)-> delete ();
|
登录后复制
三、高级操作
1.链式操作
链式操作可以简化sql语句的书写。
1 2 3 4 5 6 7 8 | use think\Db;
Db::table( 'user' )
->alias( 'u' )
->join( 'role r' , 'u.role_id=r.id' )
->where( 'u.id' , 1)
->field( 'u.username, r.name' )
->find();
|
登录后复制
2.调试方法
在开发环境中,我们经常需要查看sql语句的执行情况,Db类提供了三个调试方法:getLastSql、getExplain和getSqlLog。
1 2 3 4 5 6 7 8 9 10 | use think\Db;
Db::table( 'user' )->getLastSql();
Db::table( 'user' )->where( 'age' , '>' , 18)->getExplain();
Db::table( 'user' )->where( 'age' , '>' , 18)->select();
Db::table( 'user' )->getLastSql();
print_r(Db::getSqlLog());
|
登录后复制
getLastSql方法可以获取最后一次执行的sql语句。
getExplain方法可以获取sql语句的执行计划。
getSqlLog方法可以获取所有执行的sql语句和执行时间。
四、总结
以上就是ThinkPHP5的db类的使用方法,db类提供了非常方便的操作数据库的方法,开发时可以根据需要选择使用。如果您在使用db类时遇到问题,可以参考官方文档或者在相关论坛中提问。
以上是一文探讨thinkphp5 db类的使用方法的详细内容。更多信息请关注PHP中文网其他相关文章!