Dart
sqflite
sqflite ile SQLite öğrenirsin.
sqflite
sqflite, Dart ve Flutter için gömülü (embedded) bir SQLite veri tabanı paketidir. Verileri yerel olarak bir dosyada saklar; sunucu gerekmez. Zaman uyumsuz (async) API sunar: openDatabase ile açar, db.execute ile SQL çalıştırırsın.
Örnek: final db = await openDatabase('notes.db'); ile bir veri tabanı açarsın. await db.execute('CREATE TABLE notes (...)'); ile tablo oluşturursun. Tüm çağrılar await ile beklenir; bu yüzden main genellikle async olur.
Veri tabanı kurulumu
Bir veri tabanı kurarken önce openDatabase ile açar, ardından db.execute ile tablo oluşturursun. Tablo yapısı SQL ile yazılır: CREATE TABLE notes (id INTEGER PRIMARY KEY, title TEXT, body TEXT).
İşin bitince await db.close() ile bağlantıyı kapatırsın. Kaynak sızıntısını önlemek için her zaman kapatmak iyi bir alışkanlıktır. Bu derste setupDb adında bir yardımcı fonksiyon yazacağız; sonraki derslerde onu yeniden kullanacağız.
Uygulama Veri tabanı kurulum fonksiyonu
import 'package:sqflite/sqflite.dart'; satırını ekle. Future<Database> setupDb() async { ... } fonksiyonunu tanımla: openDatabase('notes.db') ile aç, db.execute('CREATE TABLE notes (id INTEGER PRIMARY KEY, title TEXT, body TEXT)') ile tablo oluştur ve db döndür. main içinde print('sqflite hazır: notes.db') ve print('Tablo: notes (id, title, body)') çağrılarını ekle, sonra await setupDb() çağır.
Örnek çözümü göster
import 'package:sqflite/sqflite.dart';
Future<Database> setupDb() async {
final db = await openDatabase('notes.db');
await db.execute('CREATE TABLE notes (id INTEGER PRIMARY KEY, title TEXT, body TEXT)');
return db;
}
void main() async {
print('sqflite hazır: notes.db');
print('Tablo: notes (id, title, body)');
await setupDb();
}
Kendini test et
-
sqflite ne sağlar?
- Web sunucusu
- Bulut depolama
- Gömülü SQLite
- Bellek önbelleği
Cevabı göster
Gömülü SQLite — sqflite gömülü bir SQLite veri tabanı sağlar.
-
Veri tabanı açma
Future<Database> setupDb() async {
final db = await ____('notes.db');
await db.execute('CREATE TABLE notes (id INTEGER PRIMARY KEY, title TEXT, body TEXT)');
return db;
}
Cevabı göster
Future<Database> setupDb() async {
final db = await openDatabase('notes.db');
await db.execute('CREATE TABLE notes (id INTEGER PRIMARY KEY, title TEXT, body TEXT)');
return db;
}
-
sqflite parçalarını eşleştir
- sqflite
- Gömülü SQLite
- openDatabase
- Veri tabanı açar
- db.execute
- SQL çalıştırır
- db.close
- Bağlantıyı kapatır
Sıradaki ders: Database