iOS-FMDB 更新数据库表结构

来源:互联网 发布:淘宝站外推广平台 编辑:程序博客网 时间:2024/05/16 08:59

接上一篇增删改查:
http://blog.csdn.net/sinat_30162391/article/details/49622841

这一篇介绍更新表结构, 实际就是一些sql语句 balabala

// 创建数据库- (FMDatabase *)db{    if (_db == nil) {        _db = [FMDatabase databaseWithPath:[[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"StaffPosition.db"]];    }    return _db;}
// 创建表    if ([self.db open]) {        if ([_db tableExists:@"summerxx"]) {            NSLog(@"不进行创建");        }else{            BOOL res = [_db executeUpdate:@"create table summerxx (name text, age text)"];            if (res == YES) {                NSLog(@"创建表成功");            }else{                NSLog(@"创建表失败");            }        }    }
    // 插入数据    if ([_db open]) {        BOOL res = [_db executeUpdate:@"insert into summerxx (name, age) values (?, ?)", @"summerxx", @"22"];        if (res == YES) {            NSLog(@"插入数据成功");        }else{            NSLog(@"插入数据失败");        }    }
    // 新增字段    if ([_db open]) {        [_db executeUpdate:@"ALTER TABLE summerxx ADD COLUMN hibbit text"];        BOOL res = [_db executeUpdate:@"ALTER TABLE summerxx ADD COLUMN height text"];        if (res == YES) {            NSLog(@"修改表成功");        }else{            NSLog(@"修改表失败");        }    }
    // 把原表重新命名为临时表    if ([_db open]) {        BOOL res = [_db executeUpdate:@"ALTER TABLE summerxx RENAME TO __temp__summerxx"];        if (res == YES) {            NSLog(@"修改成临时表成功");        }else{            NSLog(@"失败");        }    }
    // 创建新表    if ([self.db open]) {        if ([_db tableExists:@"summerxx"]) {            NSLog(@"不进行创建");        }else{            BOOL res = [_db executeUpdate:@"create table summerxx (name text, age text, hibbit text, height text)"];            if (res == YES) {                NSLog(@"创建表成功");            }else{                NSLog(@"创建表失败");            }        }    }
    // 把临时表数据插入新表    if ([self.db open]) {            BOOL res = [_db executeUpdate:@"INSERT INTO summerxx SELECT name, age, hibbit, height FROM __temp__summerxx"];            if (res == YES) {                NSLog(@"成功");            }else{                NSLog(@"失败");            }    }
    // 删除临时表    [self.db open];    // DROP TABLE __temp__summerxx    [_db executeUpdate:@"DROP TABLE __temp__summerxx"];

还可以关注我的订阅号 [夏天然后 ID: xt1005430006]

夏天然后

2 0
原创粉丝点击