[flutter] 플러터(sqflite)를 사용한 데이터베이스 수정과 삭제 방법
이번 글에서는 플러터(Flutter) 앱에서 SQFlite를 이용하여 데이터베이스의 레코드를 수정하고 삭제하는 방법에 대해 알아보겠습니다. SQFlite는 플러터에서 사용할 수 있는 경량의 데이터베이스 패키지로 안드로이드와 iOS에서 동작하는데 유용합니다.
1. 데이터 수정하기
데이터를 수정하기 위해선 update
메서드를 사용합니다. 아래는 데이터베이스에서 특정 레코드를 업데이트하는 예제 코드입니다.
import 'package:sqflite/sqflite.dart';
import 'package:path_provider/path_provider.dart';
import 'package:path/path.dart';
// 데이터 수정
void updateData(int id, String newData) 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, value TEXT)');
});
// 데이터 수정
await database.rawQuery(
'UPDATE Test SET value = ? WHERE id = ?', [newData, id]);
// 데이터베이스 닫기
await database.close();
}
2. 데이터 삭제하기
데이터를 삭제하기 위해서는 delete
메서드를 사용합니다. 아래는 데이터베이스에서 특정 레코드를 삭제하는 예제 코드입니다.
import 'package:sqflite/sqflite.dart';
import 'package:path_provider/path_provider.dart';
import 'package:path/path.dart';
// 데이터 삭제
void deleteData(int id) 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, value TEXT)');
});
// 데이터 삭제
await database.rawQuery('DELETE FROM Test WHERE id = ?', [id]);
// 데이터베이스 닫기
await database.close();
}
위 코드를 사용하면 간단하게 플러터 앱에서 SQFlite를 사용하여 데이터를 수정하고 삭제할 수 있습니다. 만약 데이터베이스가 존재하지 않는 경우에는 자동으로 새로운 데이터베이스가 생성됩니다. SQFlite를 사용하면 앱에서 간단한 로컬 데이터베이스를 쉽게 다룰 수 있습니다.
더 많은 정보는 SQFlite 공식 문서를 참고하시기 바랍니다.