添加依赖库libsqlite3.tbd
添加文件权限 -fno-objc-arc
1.创建数据库
@property (nonatomic,strong)FMDatabase* dataBase;
@property (nonatomic,strong)FMDatabaseQueue* queue;
首先获取存储位置
NSString* sandBoxString =NSHomeDirectory();
NSString* dbString = [sandBoxStringstringByAppendingPathComponent:@"Documents/house.db"];
// self.dataBase = [[FMDatabase alloc]initWithPath:dbString];
self.dataBase = [FMDatabasedatabaseWithPath:dbString];
NSLog(@"数据库地址---%@",sandBoxString);
if ([self.dataBase open]) {
//创建成功
//创建表格SQL语句
NSString* tblSql =@"create table if not exists students (id integer primary key autoincrement,name varchar(256),age integer,password varchar (256))";
BOOL b = [self.dataBaseexecuteUpdate:tblSql];
NSLog(@"--%i",b);
}
//创建多线程序列保证安全
self.queue = [FMDatabaseQueuedatabaseQueueWithPath:dbString];
2.插入数据
[self.queue inDatabase:^(FMDatabase *db) {
//保存数据
NSString* insertSql =@"insert into students(name,age,password) values(?,?,?)";
BOOL b = [dbexecuteUpdate:insertSql,@"xiaoming",@(20),@"pwd"];
NSLog(@"--%i",b);
}];
3.删除数据
[self.queueinDatabase:^(FMDatabase *db) {
//删除数据
NSString* deleteSql =
@"delete from students where id = ?";
BOOL b = [dbexecuteUpdate:deleteSql,@"1"];
NSLog(@"删除---%i",b);
}];
4.修改数据
[self.queueinDatabase:^(FMDatabase *db) {
//修改数据
NSString* updateString =@"update students set name = ?,age = ?,password = ? where id =?";
BOOL b = [dbexecuteUpdate:updateString,@"李雷",@"25",@"ert",@"1"];
NSLog(@"更改--%i",b);
}];
5.查询数据
[self.queueinDatabase:^(FMDatabase *db) {
//查询数据
NSString* selectedSql =
@"select * from students";
FMResultSet* set = [dbexecuteQuery:selectedSql];
while ([setnext]) {
NSString* name = [setstringForColumn:@"name"];
NSLog(@" name--%@",name);
int age = [setintForColumn:@"age"];
NSLog(@"age--%i",age);
}
}];