FMDB相对于苹果自带的Coredata更轻量级,使用起来方便一些,只需要写少量的sqlite语句就可以了,,如果你不会SQLite语句,那就百度。
1.首先初始化,创建一个数据库
NSString *doc = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
NSString *path = [doc stringByAppendingPathComponent:@"myStudents.sqlite"];
NSLog(@"%@",path);
_db = [FMDatabase databaseWithPath:path];
if ([_db open]) {
BOOL result = [_db executeUpdate:@"CREATE TABLE IF NOT EXISTS t_students (id INTEGER PRIMARY KEY AUTOINCREMENT,name text NOT NULL, age interger NOT NULL);"];
if (result) {
NSLog(@"创表成功");
}else{
NSLog(@"创表失败");
}
}
for (int j = 0; j < 10; j ++) {
NSString *name = [NSString stringWithFormat:@"jack-%d", j];
[_db executeUpdate:@"INSERT INTO t_students (name ,age) VALUES (?,?);",name,@(arc4random_uniform(40))];
}
3.查询数据
FMResultSet *resultSet = [_db executeQuery:@"SELECT * FROM t_students"];
while ([resultSet next]) {
int ID = [resultSet intForColumn:@"id"];
NSString *name = [resultSet stringForColumn:@"name"];
int age = [resultSet intForColumn:@"age"];
if (age > 10) {
NSLog(@"ID->%d name->%@ age->%d",ID ,name, age);
}else{
NSLog(@"ID:%d name:%@ age:%d",ID ,name, age);
}
}
[_db executeUpdate:@"DELETE FROM t_student;"];
// [_db executeUpdate:@"DROP TABLE IF EXISTS t_students;"];