// .h文件
/**
数据库属性
*/
@property (nonatomic,strong)FMDatabase *db;
- (void)viewDidLoad {
[super viewDidLoad];
// 拼接路径,没有就自动创建
NSString *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject;
path = [path stringByAppendingPathComponent:@"FMDB"];
NSLog(@"%@",path);
//创建数据库
_db = [FMDatabase databaseWithPath:path];
//打开数据库
if ([_db open]) {
NSLog(@"数据库打开");
BOOL result = [_db executeUpdate:@"CREATE TABLE IF NOT EXISTS LearnFMDB (id integer PRIMARY KEY AUTOINCREMENT, name text NOT NULL, age integer NOT NULL);"];
if (result) {
NSLog(@"LearnFMDB 表格创建成功");
}else
{
NSLog(@"LearnFMDB 表格创建失败");
}
}else{
NSLog(@"数据库打开失败");
}
}
#pragma mark - 插入数据
- (IBAction)addData:(id)sender {
NSString *name = [NSString stringWithFormat:@"赵师顺%d",arc4random_uniform(20)];
BOOL resoult = [_db executeUpdate:@"INSERT INTO LearnFMDB (name, age) VALUES (?, ?);", name, @(arc4random_uniform(40))];
if (resoult) {
NSLog(@"插入数据成功");
}else
{
NSLog(@"插入数据失败");
}
}
#pragma mark - 删除数据
- (IBAction)removeData:(UIButton *)sender {
// 删除整张表格
// [_db executeUpdate:@"DROP TABLE IF EXISTS LearnFMDB;"];
BOOL resoult = [_db executeUpdate:@"delete from LearnFMDB where id = 6;"];
if (resoult) {
NSLog(@"删除成功");
}else{
NSLog(@"删除失败");
}
}
#pragma mark - 修改数据
- (IBAction)upData:(id)sender {
[_db executeUpdate:@"update LearnFMDB set name = '我还在想你' where id = '7';"];
}
#pragma mark - 查找数据
- (IBAction)selectData:(UIButton *)sender {
FMResultSet *result = [_db executeQuery:@"SELECT * FROM LearnFMDB"];
while ([result next]) {
int ID = [result intForColumn:@"id"];
NSString *name = [result stringForColumn:@"name"];
int age = [result intForColumn:@"age"];
NSLog(@"ID:%d--姓名:%@--年龄:%d",ID,name,age);
}
}