# 數據庫的增刪改查 #
### 配置數據庫 ###
比如,在`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`。