15. 플러터 SQlite 사용

Zero·2022년 2월 12일
0

플러터

목록 보기
15/21

1. 패키지 넣기

yaml 파일에 package를 넣어주자
버전을 확인하고 넣어준다.


2. 데이터 베이스 사용

2.1 데이터베이스와 테이블 만들기

-> 테이블을 만드는 부분은 한번만 수행되어야 한다 , 그래서

if(_db != null) return _db; 즉 이미 _db에 값이 있으면 (이미 한번 실행 되었으면 ) 값이 담겨 있는 _db 함수를 리턴해주라는 것이다


2.2 맵핑을 유용하게 하는 모델 클래스 만들기

-> 왼쪽(key)은 내부 db의 컬럼명이고, 오른쪽(value)은 생성자를 통해 들어온 담긴 멤버 변수 값들이다.



2.2 값 넣어보기 ( Insert )

  • 아까전 모델 클래스 안에 있던 toMap() 메서드 실행하여 내가 넣은 값을 매핑하여 데이터베이스 안에 넣는다

  • 아래 conflictAlgorithm은 기본키 중복 시 대체로 넣는 것인데, 조건 충동을 해소하기 위한 알고리즘으로 이 알고리즘을 사용하면 에러가 발생되지 않는다.


2.3 값 가져오기 ( Select )

-> 테이블 명을 입력하면 해당 테이블의 데이터들을 전부 가져와 List 형식으로 반환한다

!! 만약 전부 말고, 내가 원하는 데이터만 가져오고 싶을 때

String title = '제목1';

final List<Map<String, dynamic>> maps = await db.query(
'memos'
title: 'value = ?',
titleArgs:[title]
);

--> title이 '제목1'인 데이터를 가져온다.


2.4 값 삭제하기 ( Delete )

-> Select 부분에서 원하는 데이터를 추출했던 방법과 거의 유사하다

  • whereArgs에 원하는 인자를 넘겨준다.
  • where 에는 해당 컬럼명을 넣고 ?를 넣어주어, 해당 데이터를 삭제한다

2.5 값 업데이트 하기 ( Update )

0개의 댓글