[flutter] 플러터(sqflite)에서의 데이터 추가, 수정, 삭제 작업 방법

플러터를 사용하여 데이터베이스를 다루기 위해 sqflite 패키지를 사용할 수 있습니다. 이 패키지를 활용하여 데이터의 추가, 수정 및 삭제 작업을 간단하게 수행할 수 있습니다. 이번 글에서는 sqflite를 사용하여 데이터의 추가, 수정, 삭제를 하는 방법에 대해 알아보겠습니다.

데이터 추가 (Insert)

데이터를 추가하기 위해서는 특정 테이블에 값을 삽입하는 작업을 해야합니다. 예를 들어, insert 메서드를 사용하여 새로운 레코드를 추가할 수 있습니다.

import 'package:sqflite/sqflite.dart';
import 'package:path_provider/path_provider.dart';

Future<void> insertData() async {
  var databasesPath = await getDatabasesPath();
  String path = join(databasesPath, 'example.db');

  Database database = await openDatabase(path, version: 1,
      onCreate: (Database db, int version) async {
    await db.execute(
        'CREATE TABLE Test (id INTEGER PRIMARY KEY, name TEXT, value INTEGER, num REAL)');
  });

  await database.transaction((txn) async {
    int id1 = await txn.rawInsert(
        'INSERT INTO Test(name, value, num) VALUES("some name", 1234, 456.789)');
    print('inserted1: $id1');
  });
}

위의 코드에서 rawInsert 메서드를 사용하여 데이터를 추가하고 있습니다.

데이터 수정 (Update)

기존 데이터를 수정하기 위해서는 update 메서드를 사용할 수 있습니다. 아래의 예시 코드를 통해 수정하는 방법을 살펴봅시다.

Future<void> updateData() async {
  int count = await database.rawUpdate(
      'UPDATE Test SET name = ?, value = ? WHERE name = ?',
      ['updated name', '9876', 'some name']);
  print('updated: $count');
}

위의 코드에서 rawUpdate 메서드를 사용하여 데이터를 수정하고 있습니다.

데이터 삭제 (Delete)

데이터를 삭제하기 위해서는 delete 메서드를 사용할 수 있습니다. 아래의 예시 코드를 통해 삭제하는 방법을 살펴봅시다.

Future<void> deleteData() async {
  int count = await database
      .rawDelete('DELETE FROM Test WHERE name = ?', ['updated name']);
  print('deleted: $count');
}

위의 코드에서 rawDelete 메서드를 사용하여 데이터를 삭제하고 있습니다.

이상으로 플러터(sqflite)를 사용하여 데이터의 추가, 수정, 삭제 작업에 대해 알아보았습니다. 데이터베이스 조작 기능을 효과적으로 활용하면서 안정적이고 효율적인 데이터 관리를 할 수 있을 것입니다.

더 자세한 내용은 sqflite 패키지 문서를 참고하시기 바랍니다.