FMDatabaseQueue数据库操作对象,以下用queue代替
queue = FMDatabaseQueue(path: dbPath) 创建数据库文件
let sql = try!String(contentsOfFile: sqlPath)来读取sqlPath指向的SQL语句文件
SQL的语句执行一般都在queue?.inDataBase里面
执行时有一个参数代表数据库文件,以下用db简称
SQL语句除查询外,都用:db.executeUpdate(sql , 参数) 执行
查询使用:db.executeQuery(sql,参数)
前方是执行的sql语句,后面是所需参数
SQL语句的执行都会有一个返回值,除查询外,返回值为Nil代表失败
查询的返回值为一个数组,可用result.next()依次取出
插入数据时
为了保证数据的完整性,可使用queue.inTransaction方法
第一个db代表数据库,第二个rollback表示回滚
如果插入失败就回滚数据:rollback.memory = true
若数据为int64需要转换成字符串再保存:”\(id)"
插入的时候需要将字典转变为data类型,通过json解析:
NSJSONSerialization.dataWithJSONObject(value, options: [])
第一个参数为值,第二参数代表选项,不选为[]
在删除本地缓存文件前,一般先判断数据的存在时间
通过选择判断: where 数据创建时间 < 存在的最早时间
存在的最早时间可通过NSDate().dateByAddingTimeInterval(参数)计算
参数为负值,代表当前时间往前多久秒
插入语句: INSERT INTO
删除: DELETE
修改: UPDATE
查询: SELECT FROM
选择判断,如:WHERE 值 < 值
SQL: 主键约束一般为ID,主要用于身份识别与避免重复