Flutter持久化存储之sqflite操作数据库详细使用

本文详细介绍了在Flutter应用中使用sqflite进行数据库操作的方法,包括添加依赖、创建数据库、创建数据表,以及增、删、改、查等核心操作,还涵盖了批处理和事务处理等高级功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

sqflite是一个轻量的关系型数据库,以表的形式将较为复杂的数据存储到.db文件中(数据库),同时支持安卓和IOS,简单数据可直接使用 shared_preferences

1. 准备工作

1.1 添加依赖:

在pubspec.yaml文件下添加
path_provider是用来处理路径相关的操作
dependencies:
  sqflite: ^1.3.0+2
  path_provider: ^1.6.9

1.2 安装

如果保存了有自动执行则最好,如果没有那么在终端运行flutter packages get命令

1.3 导入

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

1.4 注意

 // SQLite支持的数据类型  不支持bool和DateTime
 // SQL类型 ==== Dart类型
 // integer ==== int
 // real    ==== num
 // text    ==== String
 // blob    ==== Uint8List

2. 使用流程

2.1 创建数据库

// 数据库文件路径:可以根据自己的需求自己定 这里使用的是外部存储可见的目录
// 可以将路径打印出来 在手机上找到它
String databasePath=(await getExternalStorageDirectory()).path+"/demo.db";

// 打开数据库  (若想数据库只能读取则使用openReadOnlyDatabase())
// 1 若数据库不存在 则创建数据库
// 2 若数据库存在 version大于当前数据库version 则升级
// 3 若数据库存在 version小于当前数据库version 则降级
// 4 若数据库存在 version等于当前数据库version 则不变
 Database database=await openDatabase(databasePath,version: 2,
  readOnly: false,      //   是否只读
  singleInstance: true, //   是否单例
  // 第一个被调用的可选回调 配置数据库使用SQL语句配置
  onConfigure: (Database database)async{
   
    await database.execute("PRAGMA foreign_keys = ON");
    print("配置数据库");
  },
  // 创建数据库回调
  onCreate: (Database database,int version)async{
   
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值