swift FMDB增删改查,数据迁移

XCode新建工程,下载第三方FMDB导入工程

https://github.com/ccgus/fmdb


编译成功后开始创建数据库

第一步:创建数据库

var path : String?


path = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first //数据库存储路径

        path = path! + "/fmdbDemo.sqlite" //数据库名称

        fmdb = FMDatabase.init(path: path)


第二步:建表


if fmdb.open() {

            let sql = "create table  t_ball(id integer primary key autoincrement,name text not null,age integer ,score real default 59.0)"

            let result = fmdb.executeUpdate(sql, withArgumentsIn: any)

            if result {

                print("创建表成功")

            }

        }else{

            print("打开数据库失败")

        }


至此,本地数据库创建完成,接下来是对数据库的相关操作

添加数据

let sql = "insert into t_ball (name,age,score,sex) values ('Batac',20,100,'boy')"

        let result = fmdb.executeUpdate(sql, withArgumentsIn: any)

        if result {

            print("插入成功")

        }


修改数据

let sql = "update t_ball set name='Batac',age='22',score='95',sex='girl'"

        let result = fmdb.executeUpdate(sql, withArgumentsIn: any)

        if result {

            print("修改成功")

        }


删除数据

let sql = "delete from t_ball where name = 'Batac'"

        let result = fmdb.executeUpdate(sql, withArgumentsIn: any)

        if result {

            print("删除成功")

        }


根据条件查询数据

let sql = "select * from t_ball where name = 'Batac'"

        let result = fmdb.executeQuery(sql, withArgumentsIn: any)

        while (result?.next())! {

            let name = result?.object(forColumn: "name")

            let age = result?.int(forColumn: "age")

            let score = result?.int(forColumn: "score")

            let sex = result?.object(forColumn: "sex")

            

            print("name = \(String(describing: name)),age = \(String(describing: age)),score = \(String(describing: score)),sex = \(String(describing: sex))")

        }


项目有时要在数据库添加数据,此时要用到数据迁移,以添加键值为例(以下为数据库添加sex属性)

if !fmdb.columnExists("sex", inTableWithName: "t_ball") {

            let sql = "alter table t_ball add sex text"

            let result = fmdb.executeUpdate(sql, withArgumentsIn: any)

            if result {

                print("更新数据库成功")

            }

        }



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值