728x90
반응형
라이브러리를 만들려면 정말 이런 라이브러리를 만들어야 한다...
https://pub.dev/packages/sqflite
install
$ flutter pub add sqflite
dependencies:
sqflite: ^2.3.0
.execute 는 반환 값이 void이다.
반환 값을 받고 싶은 경우 transaction을 사용하여 쿼리문을 작성
var result = db.transaction((txn) => txn.rawQuery("SELECT * FROM Friends"));
DB생성
Database db = await openDatabase("test.db");
버전을 바꾸면 어떻게 될까? >> 별 달라지는게 없네..
Table테이블 생성
await db.execute("CREATE TABLE IF NOT EXISTS Friends("
"id INTEGER PRIMARY KEY, "
"name TEXT, "
"value INTEGER"
")"
);
final result = db.transaction((txn) => txn.rawQuery("CREATE TABLE IF NOT EXISTS Friends("
"id INTEGER PRIMARY KEY AUTOINCREMENT, "
"name TEXT NOT NULL, "
"value INT"
")"));
Table테이블 삭제
Database db = await openDatabase("test.db");
var result = await db.transaction((txn) => txn.rawQuery("DROP TABLE IF EXISTS Friends"));
SELECT 선택
다음과 같이 하면 결과값을 받을 수 없음
result = db.transaction((txn) => txn.rawQuery("SELECT * FROM $table"));
아래와 같이 실행해야 결과를 List로 감싼 Map형태로 출력됨
result = await db.rawQuery("SELECT * FROM $table");
INSERT 추가
result = db.transaction((txn) => txn.rawQuery("INSERT INTO Friends(name, value) VALUES('neander', 31)"));
result = db.transaction((txn) => txn.rawQuery("INSERT INTO Friends(name, value) VALUES(?, ?)", ['hongsi', 33]));
728x90
반응형
'lan > dart' 카테고리의 다른 글
[Dart] DateTime, Dialog (0) | 2024.01.12 |
---|---|
[Dart] Mixin활용 (0) | 2024.01.11 |
[Dart] Functional 정리 (0) | 2023.12.14 |
[Dart] OOP 정리 (0) | 2023.12.13 |
[Dart] Dart다트 언어 정리 (0) | 2023.12.13 |