1.添加依赖
dependencies:
flutter:
sdk: flutter
sqflite: ^2.0.0+4
2.创建数据库
在应用程序中创建数据库,并在数据库中创建表,your_database_name数据库的名字,your_table_name表名字
import 'package:sqflite/sqflite.dart';
import 'package:path/path.dart';
class DatabaseHelper {
static Database? _database;
static Future<Database> get database async {
if (_database != null) return _database!;
// 如果数据库尚未初始化,则先初始化数据库
_database = await initDatabase();
return _database!;
}
static Future<Database> initDatabase() async {
// 获取数据库路径
String path = join(await getDatabasesPath(), 'your_database_name.db');
// 打开数据库
return await openDatabase(path, version: 1, onCreate: (db, version) async {
// 在数据库中创建表
await db.execute('''
CREATE TABLE your_table_name (
id INTEGER PRIMARY KEY,
name TEXT,
age INTEGER
)
''');
});
}
}
3.执行数据库操作
class DatabaseHelper {
//插入一条数据
static Future<void> insertData(String name, int age) async {
final Database db = await database;
await db.insert(
'your_table_name',
{'name': name, 'age': age},
conflictAlgorithm: ConflictAlgorithm.replace,
);
}
//查询数据
static Future<List<Map<String, dynamic>>> getData() async {
final Database db = await database;
return await db.query('your_table_name');
}
}
4.使用数据库操作
DatabaseHelper.insertData('John', 30);
DatabaseHelper.insertData('Alice', 25);
List<Map<String, dynamic>> data = await DatabaseHelper.getData();
data.forEach((row) {
print('Name: ${row['name']}, Age: ${row['age']}');
});