# 数据库的增删改查 #
### 配置数据库 ###
比如,在`app/common/configs/`目录下新建`database.php`配置文件,示例如下:
```
return [
'host' => 'localhost',
'port' => '3306',
'db' => 'file',
'user' => 'root',
'password' => '',
'charset' => 'UTF8',
];
```
然后在`app/common/App.php`中引入改配置文件:
```
'database' => include 'Database.php',
```
> 也可以把配置文件放在任意目录,只要在配置文件中正确引入即可。
### 获取数据库的实例 ###
在配置完了数据库之后,就可以在程序中获取程序的实例了:
```
$dbInstance = src\framework\Database::getInstance();
```
### 查询数据 ###
如果不加上`limit`语句的话,默认返回第一条数据。
```
$queryResult = $dbInstance->table('file')
->field(['id','name','path','status'])
->where([
'name' => ['like','%bc%'],
])
->limit(50)
->fetch();
```
### 更新数据 ###
如果更新成功,返回`true`,如果更新失败,返回`false`。
```
$updateResult = $dbInstance->table('file')
->where(['id' => 1])
->update([
'name' => 'xiao',
]);
```
### 新增数据 ###
#### 插入单条数据 ####
如果新增数据成功,返回`true`,如果插入失败,返回`false`。
```
$insertResult = $dbInstance->table('file')
->add([
'id' => 2,
'name' => 'ok',
'path' => '/etc/log',
'level' => 11,
'status' => 3,
]);
```
#### 批量插入 ####
如果数据量大的话,可以使用批量插入的方法`$dbInstance->addAll()`,示例代码如下:
```
$dataList = [
[
'name' => 'bob',
'age' => 15,
],[
'name' => 'john'
'age' => 18,
]
];
$result = $dataInstance->table('user')
->addAll($dataList);
```
如果成功,返回`true`,如果失败,返回`false`。