ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
## 数据库配置 如果你是独立使用,首先需要配置数据库的连接参数,使用如下方式: ~~~ use think\facade\Db; // 数据库配置信息设置(全局有效) Db::setConfig([ // 默认数据连接标识 'default' => 'mysql', // 数据库连接信息 'connections' => [ 'mysql' => [ // 数据库类型 'type' => 'mysql', // 主机地址 'hostname' => '127.0.0.1', // 用户名 'username' => 'root', // 数据库名 'database' => 'demo', // 数据库编码默认采用utf8 'charset' => 'utf8', // 数据库表前缀 'prefix' => 'think_', // 数据库调试模式 'debug' => true, ], ], ]); ~~~ 如果你在ThinkPHP`6.0+`使用的话,无需动态设置,直接在`database.php`数据库配置文件中按如下方式定义即可。 ~~~ return [ 'default' => 'mysql', 'connections' => [ 'mysql' => [ // 数据库类型 'type' => 'mysql', // 服务器地址 'hostname' => '127.0.0.1', // 数据库名 'database' => 'thinkphp', // 数据库用户名 'username' => 'root', // 数据库密码 'password' => '', // 数据库连接端口 'hostport' => '', // 数据库连接参数 'params' => [], // 数据库编码默认采用utf8 'charset' => 'utf8', // 数据库表前缀 'prefix' => 'think_', ], ], ]; ~~~ > 当然在ThinkPHP里面可以使用环境变量来定义数据库连接配置信息 ## 配置参数 数据库配置支持多个数据库连接,而`default`配置用于设置默认使用的数据库连接配置。`connections`则配置具体的数据库连接信息,`default`配置参数定义的连接配置必须要存在。 下面是默认支持的数据库连接参数: | 参数名 | 描述 | 默认值 | | --- | --- | --- | | type | 数据库类型 | 无 | | hostname | 数据库地址 | 127.0.0.1 | | database | 数据库名称 | 无 | | username | 数据库用户名 | 无 | | password | 数据库密码 | 无 | | hostport | 数据库端口号 | 无 | | dsn | 数据库连接dsn信息 | 无 | | params | 数据库连接参数 | 空 | | charset | 数据库编码 | utf8 | | prefix | 数据库的表前缀 | 无 | | deploy | 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器) | 0 | | rw\_separate | 数据库读写是否分离 主从式有效 | false | | master\_num | 读写分离后 主服务器数量 | 1 | | slave\_no | 指定从服务器序号 | 无 | | fields\_strict | 是否严格检查字段是否存在 | true | | auto\_timestamp | 自动写入时间戳字段 | false | |break_reconnect|是否开启断线重连|false| | fields_cache | 是否开启字段缓存 | false| |schema_cache_path|字段缓存目录|无| |trigger_sql|是否开启SQL监听(日志)|true| | query | 指定查询对象 | think\\db\\Query | `type`参数用于指定数据库类型,内置支持的类型包括: | type | 数据库 | | --- | --- | | mysql | MySQL | | sqlite | SqLite | | pgsql | PostgreSQL| | sqlsrv | SqlServer | |mongo|MongoDb| |oracle|Oracle| > 除了以上内置的数据库类型之外,你可以自己扩展数据库连接类型,通常情况下,`type`配置就是你的数据库连接对象类名。 常用数据库连接参数(`params`)可以参考[PHP在线手册](http://php.net/manual/zh/pdo.constants.php)中的以`PDO::ATTR_`开头的常量。 `dsn`配置可用于一些自定义的高级连接参数,例如: ``` 'dsn' => 'mysql:dbname=testdb;host=127.0.0.1' ``` 如果同时定义了参数化数据库连接信息和`dsn`配置,则会优先使用`dsn`配置参数定义的数据库连接信息。 >[danger] 如果是使用`pgsql`数据库驱动的话,请先导入 `db/connector/pgsql.sql`文件到数据库执行。