您的位置:首页 > 数据库

IOS 数据库(FMDB)

2017-12-26 19:51 162 查看

FMDB概述:

1.sqlite3的封装,比sqlite3更好用

2.基于oc的代码,使用更方便

3.基于队列,保证线程安全

FMDB类结构图:



使用步骤

在 FMDB 中有三个重要的类:

FMDatabase
:是一个提供 SQLite 数据库的类,用于执行 SQL 语句。

FMResultSet
:用在
FMDatabase
中执行查询的结果的类。

FMDatabaseQueue
:在多线程下查询和更新数据库用到的类。、

数据库创建

// 创建数据库示例
FMDatabase *db = [FMDatabase databaseWithPath:@"/tmp/tmp.db"];


数据库的表的创建,添加,删除更新

BOOL update = [_db executeUpdate:@"update t_health set name = ?  where phone = '%@'",@"jacob111"];


数据库的查询

FMResultSet *set = [_db executeQuery:@"select * from t_health "];
while ([set next]) {
NSString *name =  [set stringForColumn:@"name"];
NSString *phone = [set stringForColumn:@"phone"];
NSLog(@"name : %@ phone: %@",name,phone);
}


数据库多条语句的执行

[queue inDatabase:^(FMDatabase *db) {
[db executeUpdate:@"INSERT INTO t_student(name) VALUES (?)", @"Jack"];
[db executeUpdate:@"INSERT INTO t_student(name) VALUES (?)", @"Rose"];
[db executeUpdate:@"INSERT INTO t_student(name) VALUES (?)", @"Jim"];

FMResultSet *rs = [db executeQuery:@"select * from t_student"];
while ([rs next]) {
// …
}
}];


其它

FMResultSet
提供了很多方便的方法来查询数据:

intForColumn:


longForColumn:


longLongIntForColumn:


boolForColumn:


doubleForColumn:


stringForColumn:


dateForColumn:


dataForColumn:


dataNoCopyForColumn:


UTF8StringForColumn:


objectForColumn:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: