CodeBlanks Logo Icon CodeBlanks

CRUD

sqflite ile CRUD işlemlerini öğrenirsin.

CRUD işlemleri

CRUD, dört temel veri tabanı işleminin baş harfleridir: Create (oluştur), Read (oku), Update (güncelle), Delete (sil). sqflite bu işlemleri db.insert, db.query, db.update ve db.delete yöntemleriyle sunar.

Örnek: await db.insert('notes', {'title': 'Merhaba'}); yeni bir satır ekler. final rows = await db.query('notes'); tüm satırları çeker. Her satır bir Map<String, dynamic> olarak döner; rows[0]['title'] ilk satırın başlığını verir.

Satır eklemek ve çekmek

Bir satır eklemek için db.insert('tablo', map) çağırırsın. map, sütun adlarını değerlere bağlayan bir Map'tir. Örneğin {'title': 'Merhaba', 'body': 'İlk notum'}.

Satır çekmek için db.query('tablo') kullanırsın. Sonuç bir List<Map<String, dynamic>>'tir. rows[0]['title'] ilk satırın title sütununu verir. Bu derste bir crudDemo fonksiyonu yazacağız: bir not ekler, tüm notları çeker ve ilk notun başlığını yazdırır.

Uygulama Not ekle ve çek

Aşağıdaki kodda sqflite içe aktarılmış ve main bir Database açıyor. crudDemo(Database db) fonksiyonunu tanımla: db.insert('notes', {'title': 'Merhaba', 'body': 'İlk notum'}) ile bir not ekle, db.query('notes') ile tüm notları çek ve print('İlk not: ${rows[0]['title']}') ile ilk notun başlığını yazdır. main içinde print('CRUD: insert + query') satırı zaten var; crudDemo(db) çağrısını ekle.

Başlangıç kodu

main.dart
import 'package:sqflite/sqflite.dart';

Future<void> crudDemo(Database db) async {
  // bir not ekle (db.insert) ve tüm notları çek (db.query)
  // ilk notun başlığını yazdır
}

void main() async {
  print('CRUD: insert + query');
  final db = await openDatabase('notes.db');
  await crudDemo(db);
  await db.close();
}

Örnek çözüm

main.dart
import 'package:sqflite/sqflite.dart';

Future<void> crudDemo(Database db) async {
  await db.insert('notes', {'title': 'Merhaba', 'body': 'İlk notum'});
  final rows = await db.query('notes');
  print('İlk not: ${rows[0]["title"]}');
}

void main() async {
  print('CRUD: insert + query');
  final db = await openDatabase('notes.db');
  await crudDemo(db);
  await db.close();
}

Beklenen çıktı

CRUD: insert + query
İlk not: Merhaba

Soru ve cevaplar

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

1 CRUD yöntemlerini eşleştir

Kavram Anlamı
db.insert Create
db.query Read
db.update Update
db.delete Delete

2 Yeni satır eklemek için hangi metot?

  • db.insert Doğru cevap
  • db.delete
  • db.update
  • db.query

Açıklama: db.insert yeni bir satır ekler (Create).

3 db.insert çağrısı

Soru
await db.____('notes', {'title': 'Merhaba', 'body': 'İlk notum'});
Cevap
await db.insert('notes', {'title': 'Merhaba', 'body': 'İlk notum'});

Açıklama: db.insert('notes', {...}) yeni satır ekler.

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