一犀被、FMDB是什么厕倍?
FMDB是一種以O(shè)C的方式封裝了SQLite的C語言API;
FMDB是一種第三方的開源庫。-> FMDB
二尚氛、FMDB核心類的介紹:
類 | 描述 |
---|---|
FMDatabase | 一個FMDatabase對象就代表一個單獨的SQLite數(shù)據(jù)庫用來執(zhí)行SQL語句 |
FMResultSet | 使用FMDatabase執(zhí)行查詢后的結(jié)果集 |
FMDatabaseQueue | 用于在多線程中執(zhí)行多個查詢或更新诀诊,它是線程安全的 |
三、FMDB使用介紹:
1.導(dǎo)入libsqlite3.tbd
libsqlite3-1.png
libsqlite3-2.png
2.創(chuàng)建數(shù)據(jù)庫
<blockquote>
#define SQLite_Name @"Rfmdb.sqlite"
#define TableName @"t_Rfmdb"
static FMDatabase _fmdb;
代碼示例:
創(chuàng)建數(shù)據(jù)庫
</blockquote>
3.執(zhí)行更新
<blockquote>
采用- (BOOL)executeUpdate:(NSString)sql, ...方法執(zhí)行更新(除了查詢都用此方法)
SQLite中的語句創(chuàng)建表 (create)阅嘶、插入數(shù)據(jù)(insert)属瓣、刪表(drop,delete)、更改數(shù)據(jù)(update)都用于此方法讯柔。
例如:
[_fmdb executeUpdate:@"delete from t_zorn where userID = 1"];//根據(jù)用戶ID = 1 奠涌,刪除表t_zorn中的數(shù)據(jù)
</blockquote>
4.執(zhí)行查詢
<blockquote>
采用- (FMResultSet )executeQuery:(NSString)sql, ...方法執(zhí)行查詢
SQLite中的語句查詢數(shù)據(jù)(select)用于此方法
例如:
//查詢數(shù)據(jù)
FMResultSet *set = [_fmdb executeQuery:@"SELECT *FROM t_zorn"];
//遍歷結(jié)果集
while ([set next]) {
NSString *name = [set stringForColumn:@"name"];
NSString *number = [set stringForColumn:@"number"];
NSString *userID = [set stringForColumn:@"userID"];
}
</blockquote>
總結(jié):
優(yōu)點 | 缺點 |
---|---|
1.使用起來更加面向?qū)ο螅∪チ撕芏嗦闊┝仔印⑷哂嗟腃語言代碼;2.對比蘋果自帶的Core Data框架捏卓,更加輕量級和靈活极祸;3.提供了多線程安全的數(shù)據(jù)庫操作方法,有效地防止數(shù)據(jù)混亂 | FMDB基于OC語言封裝怠晴,失去了SQLite跨平臺的優(yōu)勢 |
更多的介紹請移步參考 -> iOS學(xué)習(xí)筆記17-FMDB你好遥金!
附上SQLite管理工具下載地址(僅供參考):
SQLite Professional
-> SQLite管理工具下載
實戰(zhàn):
-> FMDBDemo下載
運行時的主界面