什么是FMDB ?
SQLite的API是C语言写的,使用起来比较麻烦。所以就有了SQLite的第三方库。FMDB以OC的方式封装了SQLite的C语言API ( application programming interface 应用程序接口)。 现在主流的第三库就是它,蛮还用的,自己也是都用这个第三方库。
GitHub地址:https://github.com/ccgus/fmdb
FMDB的优点
- 使用起来更加面向对象,省去了很多麻烦、冗余的C语言代码 。
- 对比苹果自带的Core Data框架,更加轻量级和灵活 ,提供了多线程安全的数据库操作方法,有效地防止数据混乱。
FMDB有三个主要的类
FMDatabase
一个FMDatabase对象就代表一个单独的SQLite数据库,用来执行SQL语句FMResultSet
使用FMDatabase执行查询后的结果集FMDatabaseQueue
用于在多线程中执行多个查询或更新,它是线程安全的
基本使用流程
1、首先在工程中导入FMDB库。
注意点:FMDB库是MRC下使用的,linked frameworks and libraries中添加libsqlite3.tbd。
2、封装一个操作数据库的类。
3、在类的.m中实现数据库一系列操作的方法。
例如:这里只贴怎么创建表的代码。
#import "DataBase.h"
static FMDatabase *_db; //定义一个静态全局变量
@implementation DataBase
// 创建数据库和表
+(void)createDataBaseAndCreateTable{
if (_db==nil) { //判断数据库是否存在
_db = [[FMDatabase alloc]initWithPath:[NSString stringWithFormat:@"%@/Documents/data.sqlite",NSHomeDirectory()]]; //如果不存在创建
[_db open]; //打开数据库
NSString *createSql = @"create table if not exists people(people_ID integer primary key autoincrement,name text,phone text)";//创建数据库people表
[_db executeUpdate:createSql];//执行语句
[_db close]; //关闭数据库
}
}