iOS FMDB数据库框架使用 —— HERO博客

FMDB简介:

是iOS平台的第三方数据库框架,将SQLite API以OC的方式进行封装,面向对象,使用便捷。


主要的类:

FMDatabase:一个FMDatabase对象就代表一个单独的SQLite数据库,用来执行SQL语句,进行增删查改操作。

FMResultSet:使用FMDatabase执行查询后的结果集。

FMDatabaseQueue:保证线程安全,可以在多线程中同时读写、执行多个查询或更新。

使用:

创建队列对象:

NSString *path = [[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"HWDownloadVideoCaches.sqlite"];

// 创建队列对象,内部会自动创建一个数据库, 并且自动打开
_dbQueue = [FMDatabaseQueue databaseQueueWithPath:path];

创表:下面代表创建一张名为t_videoCaches的数据表,包含3个字段,默认且自增的主键id字段、totalFileSize字段、url字段。如“url text”代表字段名字是url,类型是text,其中除主键外,类型可以不写,为了方便阅读及编程规范还是建议写上。

[_dbQueue inDatabase:^(FMDatabase *db) {
    // 创表
    BOOL result = [db executeUpdate:@"CREATE TABLE IF NOT EXISTS t_videoCaches (id integer PRIMARY KEY AUTOINCREMENT, totalFileSize integer, url text)"];
    if (result) {
        NSLog(@"创建成功");
    }else {
        NSLog(@"创建失败");
    }
}];

常用类型:

整数数据类型:integer、bigint、smallint、tinyint

浮点数据类型:float、double、real

字符型数据类型:char(n)、varchar(n)、text

二进制数据:blob

日期类型:date、time、datetime、timestamp


增加数据:这里有一点要注意,不要直接传入基础类型,如int,要封装成对象,不然会crash掉

[_dbQueue inDatabase:^(FMDatabase *db) {
    BOOL result = [db executeUpdate:@"INSERT INTO t_videoCaches (totalFileSize, url) VALUES (?, ?)", [NSNumber numberWithInteger:1000], @"https://blog.csdn.net/hero_wqb"];
    if (result) {
        NSLog(@"插入成功");
    }else {
        NSLog(@"插入失败");
    }
}];

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值