CodeBlanks Logo Icon CodeBlanks

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.

Başlangıç kodu

main.dart
// sqflite paketini içe aktar
// setupDb fonksiyonunu tanımla (notes.db aç, notes tablosu oluştur)

void main() async {
  // sqflite hazır mesajını ve tablo bilgisini yazdır
}

Örnek çözüm

main.dart
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();
}

Beklenen çıktı

sqflite hazır: notes.db
Tablo: notes (id, title, body)

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 sqflite ne sağlar?

  • Web sunucusu
  • Bulut depolama
  • Gömülü SQLite Doğru cevap
  • Bellek önbelleği

Açıklama: sqflite gömülü bir SQLite veri tabanı sağlar.

2 Veri tabanı açma

Soru
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;
}
Cevap
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;
}

Açıklama: openDatabase('notes.db') ile veri tabanı açılır.

3 sqflite parçalarını eşleştir

Kavram Anlamı
sqflite Gömülü SQLite
openDatabase Veri tabanı açar
db.execute SQL çalıştırır
db.close Bağlantıyı kapatır

İleri seviye bölümündeki tüm dersler