iOS应用数据持久化(三)之FMDB

###一、FMDB是什么? FMDB是一种以OC的方式封装了SQLite的C语言API; FMDB是一种第三方的开源库。-> FMDB

###二、FMDB核心类的介绍:

描述
FMDatabase一个FMDatabase对象就代表一个单独的SQLite数据库用来执行SQL语句
FMResultSet使用FMDatabase执行查询后的结果集
FMDatabaseQueue用于在多线程中执行多个查询或更新,它是线程安全的

###三、FMDB使用介绍: 1.导入libsqlite3.tbd

2.创建数据库

#define SQLite_Name @"Rfmdb.sqlite" #define TableName @"t_Rfmdb" static FMDatabase *_fmdb; 代码示例: ![创建数据库](http://upload-images.jianshu.io/upload_images/2330091-40680e1ddd9bc026.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
3.执行更新
采用- (BOOL)executeUpdate:(NSString*)sql, ...方法执行更新(除了查询都用此方法)

SQLite中的语句创建表 (create)、插入数据(insert)、删表(drop,delete)、更改数据(update)都用于此方法。

例如:
[_fmdb executeUpdate:@"delete from t_zorn where userID = 1"];//根据用户ID = 1 ,删除表t_zorn中的数据
复制代码
4.执行查询
采用- (FMResultSet *)executeQuery:(NSString*)sql, ...方法执行查询

SQLite中的语句查询数据(select)用于此方法

例如:
//查询数据
FMResultSet *set = [_fmdb executeQuery:@"SELECT *FROM t_zorn"];
//遍历结果集
while ([set next]) {
       NSString *name = [set stringForColumn:@"name"];
       NSString *number = [set stringForColumn:@"number"];
       NSString *userID = [set stringForColumn:@"userID"];
}
复制代码
###总结:
优点缺点
1.使用起来更加面向对象,省去了很多麻烦、冗余的C语言代码;2.对比苹果自带的Core Data框架,更加轻量级和灵活;3.提供了多线程安全的数据库操作方法,有效地防止数据混乱FMDB基于OC语言封装,失去了SQLite跨平台的优势

更多的介绍请移步参考 -> iOS学习笔记17-FMDB你好!

###附上SQLite管理工具下载地址(仅供参考):

-> SQLite管理工具下载 ###实战: -> FMDBDemo下载

转载于:https://juejin.im/post/5b0e69fe518825154274c295

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值