IOS 数据库(FMDB)
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:
浙公网安备 33010602011771号