iOS-FMDB 更新数据库表结构

接上一篇增删改查:
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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值