FlutterでSQLiteを使用したデータベース操作の例


  1. パッケージのインストール: まず、pubspec.yamlファイルに以下の依存関係を追加して、sqfliteパッケージをインストールします。
dependencies:
  sqflite: ^2.0.0
  path: ^2.0.0
  1. データベースの作成: 以下のコードは、Flutterアプリ内に新しいデータベースを作成する方法を示しています。
import 'package:sqflite/sqflite.dart';
import 'package:path/path.dart';
void createDatabase() async {
  String databasesPath = await getDatabasesPath();
  String dbPath = join(databasesPath, 'mydatabase.db');
  Database database = await openDatabase(
    dbPath,
    version: 1,
    onCreate: (Database db, int version) async {
      // データベースのテーブルを作成するクエリを実行する
      await db.execute('''
        CREATE TABLE mytable (
          id INTEGER PRIMARY KEY,
          name TEXT,
          age INTEGER
        )
      ''');
    },
  );
  // データベースを使用する処理を記述する
}
  1. データの挿入: 以下のコードは、データベースに新しいレコードを挿入する方法を示しています。
void insertData() async {
  Database database = await openDatabase(dbPath);

  await database.insert('mytable', {'name': 'John', 'age': 25});
  await database.insert('mytable', {'name': 'Jane', 'age': 30});

  // データの挿入後の処理を記述する
}
  1. データの取得: 以下のコードは、データベースからデータを取得する方法を示しています。
void getData() async {
  Database database = await openDatabase(dbPath);

  List<Map<String, dynamic>> result = await database.query('mytable');

  for (Map<String, dynamic> row in result) {
    print('Name: ${row['name']}, Age: ${row['age']}');
  }
// データの取得後の処理を記述する
}
  1. データの更新: 以下のコードは、データベース内の既存のデータを更新する方法を示しています。
void updateData() async {
  Database database = await openDatabase(dbPath);

  await database.update(
    'mytable',
    {'age': 35},
    where: 'name = ?',
    whereArgs: ['John'],
  );

  // データの更新後の処理を記述する
}
  1. データの削除: 以下のコードは、データベースからデータを削除する方法を示しています。
void deleteData() async {
  Database database = await openDatabase(dbPath);

  await database.delete(
    'mytable',
    where: 'age > ?',
    whereArgs: [30],
  );

  // データの削除後の処理を記述する
}

これらは、FlutterでSQLiteを使用してデータベース操作を行うための基本的な方法とコード例です。さらに高度なトピックについては、Flutterの公式ドキュメントや他のチュートリアルやリソースを参照することをおすすめします。