> For the complete documentation index, see [llms.txt](https://developer.aliothx.net/start/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.aliothx.net/start/option/index/db.md).

# 로컬 DB

## Hive

Hive는 Flutter 앱에서 로컬 데이터베이스를 구축하고 관리하기 위한 효율적인 패키지로, 사용자가 Hive 데이터베이스와 상호 작용할 수 있는 사용자 인터페이스를 제공합니다 Hive 가이드를 참고하여 로컬 데이터를 저장, 검색, 업데이트 및 삭제할 수 있습니다.&#x20;

#### 초기 설정

Hive를 사용하기 전에 앱에서 Hive를 초기화해야 합니다. 이를 위해 `main.dart` 파일에서 다음 초기화 코드를 추가해야 합니다.

```dart
Future<void> main() async {
  // 다른 초기화 작업 수행
  await Hive.initFlutter();
  await Hive.openBox('${your dbTitle}');
  // 필요한 초기화 작업 수행
}
```

#### Hive 데이터베이스&#x20;

**1. 데이터 입력**

Hive 데이터베이스 작업을 수행하기 위해 다음 입력 필드를 채워야 합니다.

* **Hive database key**

<figure><img src="/files/9uWMqQ6MqEO8JWl7w0ds" alt=""><figcaption></figcaption></figure>

: 데이터베이스에서 사용할 고유한 키를 입력합니다. 이것은 숫자여야 합니다.

* **Hive database value**

<figure><img src="/files/3Wo5mGJ5S5A6SqEZIPYh" alt=""><figcaption></figcaption></figure>

: 데이터베이스에 저장할 값을 입력합니다.

**2. 데이터베이스 작업 버튼**

다양한 데이터베이스 작업을 수행할 버튼이 제공됩니다.

* **Hive get (key 값 입력)**

```dart
FlutterHive().getBox(dbTitle: 'tutorial', dbKey: hiveKey!);
```

: 입력한 key 값에 해당하는 value를 검색합니다.

* **Hive add (value 값 입력)**

```dart
FlutterHive().addBox(dbTitle: 'tutorial', dbValue: hiveValue!);
```

: 새로운 value를 추가하며, key 값은 마지막 key 값 다음으로 자동 지정됩니다.

* **Hive put (key, value 값 입력)**

```dart
FlutterHive().putBox(
                      dbTitle: 'tutorial',
                      dbKey: hiveKey!,
                      dbValue: hiveValue!);
```

: 특정 key 값에 value를 추가하거나 업데이트합니다.

* **Hive delete (key 값 입력)**

```dart
FlutterHive().deleteBox(dbTitle: 'tutorial', dbKey: hiveKey!);
```

: 입력한 key에 해당하는 value를 삭제합니다.

* **Hive delete all (key 값 입력)**

```dart
FlutterHive()
                      .deleteAllBox(dbTitle: 'tutorial', dbKeys: [hiveKey!]);
```

: 여러 개의 key 값을 가진 항목을 삭제합니다.

* **Hive clear (key 값 입력)**

```dart
 FlutterHive().clearBox(dbTitle: 'tutorial');
```

: 데이터베이스의 모든 key와 value를 삭제합니다.

Hive를 사용하여 Flutter 앱에서 로컬 데이터베이스를 설정하고 데이터를 관리하는 방법을 소개했습니다. Hive를 사용하면 데이터를 효율적으로 저장하고 검색할 수 있으며, 간단한 구현을 통해 로컬 데이터베이스를 구축할 수 있습니다. Hive를 활용하여 데이터를 지속적으로 유지하고 관리하세요.

## SQLite

SQLite는 모바일 앱에서 로컬 데이터베이스를 구현하는 데 사용되는 경량 데이터베이스 엔진으로서, 사용자에게 입력 필드와 버튼을 제공하여 SQLite 데이터베이스와 상호 작용할 수 있는 사용자 인터페이스를 제공합니다. SQLite 가이드를 참고하여 Flutter 앱에서 SQLite를 사용하여 로컬 데이터베이스를 설정하고 데이터를 추가, 조회, 업데이트 및 삭제할 수 있습니다.

#### 초기 설정

먼저 앱에서 SQLite를 사용하려면 SQLite 패키지를 초기화해야 합니다. 아래와 같이 `main.dart` 파일에서 초기화 코드를 추가합니다:

```dart
Future<void> main() async {
  // 다른 초기화 작업 수행
  // SQLite 초기화
}
```

#### SQLite 데이터베이스

**1. 데이터 입력**

먼저 SQLite 데이터베이스 작업을 수행하기 위해 다음 입력 필드를 채워야 합니다.

* **id**

<figure><img src="/files/iRdvSYpurrUBdhPmIFYJ" alt=""><figcaption></figcaption></figure>

: 데이터베이스 레코드의 고유 ID를 입력합니다. 이것은 숫자여야 합니다.

* **name**

<figure><img src="/files/gdup5a6xKxfa2hFHY8Zj" alt=""><figcaption></figcaption></figure>

: 레코드에 연결할 이름을 입력합니다.

* **age**

<figure><img src="/files/y3auTDSaLJNkDpaZT5wc" alt=""><figcaption></figcaption></figure>

: 레코드의 연령을 입력합니다. 또한 숫자여야 합니다.

**2. 데이터베이스 작업 버튼**

아래에는 다양한 데이터베이스 작업을 수행할 버튼이 있습니다.

* **CREATE (id, name, age 값 입력)**

```dart
 FlutterSqlite().create(
                        id: sqliteId!, name: sqliteName!, age: sqliteAge!);
```

: 입력한 id, name 및 age 값에 기반하여 데이터베이스에 레코드를 만듭니다.

* **SELECT ID (id 값 입력)**

```dart
 FlutterSqlite().read(id: sqliteId!);
```

: 입력한 id에 해당하는 레코드의 name과 age 값을 조회합니다.

* **SELECT ALL**

```dart
FlutterSqlite().readAll();
```

: 데이터베이스에 저장된 모든 레코드를 조회합니다.

* **DELETE (id 값 입력)**

```dart
 FlutterSqlite().delete(id: sqliteId!);
```

: 입력한 id에 해당하는 레코드를 삭제합니다.

이렇게 각 버튼을 사용하여 SQLite 데이터베이스 작업을 수행할 수 있습니다.

SQLite를 사용하여 Flutter 앱에서 로컬 데이터베이스를 설정하고 관리하는 방법을 소개했습니다. 이것은 모바일 앱에서 데이터를 지속적으로 저장하고 검색하는 데 매우 유용한 도구입니다. SQLite를 사용하면 간단하게 로컬 데이터베이스를 구축하고 데이터를 유지 관리할 수 있습니다.

<br>
