1、首先要先导入第三方类库FMdatabase。
2、获得存放数据库文件的沙盒地址。
#pragma mark - 创建数据库
- (void)createAndInitDatabase {
NSString *path = [NSString stringWithFormat:@"%@/Documents/test.db",NSHomeDirectory()];
//如果数据库文件存在,直接打开,如果不在,则创建
_database = [[FMDatabase alloc] initWithPath:path];
if (!_database.open) {
NSLog(@"打开失败");
return;
}
NSLog(@"打开成功");
//创建
NSString *sql = @"create table if not exists stuInfo(sid varchar(32),username varchar(32),password varchar(32))";
//执行
//注意:执行sql查询语句使用executeQuery
//执行非查询语句使用executeUpdata方法
BOOL b = [_database executeUpdate:sql];
NSLog(@"创建表 %d",b);
}
#pragma mark - 插入数据
- (void)insertData {
NSString *sid = @"01";
NSString *userName = @"dage";
NSString *password = @"1234";
//sql执行,使用代替变化的数据
NSString *sql = @"insert into stuInfo(sid,username,password) values(?,?,?)";
BOOL b = [_database executeUpdate:sql,sid,userName,password];
NSLog(@"插入数据 = %d",b);
}
#pragma mark - 查询数据
- (void)searchData {
NSString *sql = @"select *from stuInfo";
//返回结果值(理解为execl表格,多行多列数列数据结构)
FMResultSet *resultSet = [_database executeQuery:sql];
while ([resultSet next]) {
NSLog(@"sid = %@ name = %@ pw = %@",[resultSet stringForColumnIndex:0],[resultSet stringForColumnIndex:1],[resultSet stringForColumnIndex:2]);
}
}
#pragma mark - 修改数据
- (void)updataData {
NSString *username = @"郭达";
NSString *sql = @"update stuInfo set sid=‘11‘ where username=?";
BOOL b = [_database executeUpdate:sql,username];
NSLog(@"修改数据 = %d",b);
}
#pragma mark - 删除数据
- (void)deleteData {
NSString *username = @"郭达";
NSString *sql = @"delete from stuInfo where username=?";
BOOL b = [_database executeUpdate:sql,username];
NSLog(@"删除数据 = %d",b);
}