在已经存在的表中,添加字段,更新表结构 /** Test to see if particular column exists for particular t...
selectAllPersonFromPersonTable; @end DataBaseHandle.m #import "DataBaseHandle.h" #import "FMDB.h...NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)lastObject] stringByAppendingPathComponent:@"db.sqlite
相信大部分的开发者在实际开发中,可能项目都会有要求实现部分的数据的持久化保存,而在移动开发中,基本推荐使用轻量级的关系数据库--sqlite,而FMDB就是基于sqlite封装的第三方开源库, 这里就详细的讲一下...iOS中,如何方便的使用FMBD进行项目开发。...---- -->小tips:FMDB中,如何正确使用select语句,并返回我们想要的结果!...select语句-实际开发中常用方法 ---- 接下去就是正确使用FMDB的正确+方便+效率的使用方式了-->sqlite Manager! 大tips!-->这里一定要注意搜索引擎!...7.通过手动:查找sqlite文件位置-->对照沙盒的数据库路径! 8.选择正确的根目录!
iOS SDK 很早就支持了 SQLite,在使用时,只需要加入 libsqlite3.dylib 依赖以及引入 sqlite3.h 头文件即可。...于是,开源社区中就出现了一系列将 SQLite API 进行封装的库,而 FMDB (https://github.com/ccgus/fmdb) 则是开源社区中的优秀者。..., 42]; // 正确,将 42 封装成 NSNumber 类 [db executeUpdate:@"INSERT INTO myTable VALUES (?)"...总结 ---- FMDB 将 SQLite API 进行了很友好的封装,使用上非常方便,对于那些使用纯 Sqlite API 来进行数据库操作的 app,可以考虑将其迁移到基于 FMDB 上,这对于以后数据库相关功能的开发维护...参考:在iOS开发中使用FMDB
自己是最近才有时间看的WCDB,总结一下自己的理解和学习的东西,WCDB是微信团队开源的支持Android,也支持iOS,那当然也是会支持macOS的一个移动端数据库框架,FMDB估计做iOS的99.99%...它包含三个模块: 1、WCDB-iOS/Mac 2、WCDB-Android 3、数据库损坏修复工具WCDBRepair iOS 数据库框架对比分析 ----...FMDB:它基于SQLite封装,对于有SQLite和ObjC基础的开发者来说,简单易懂,可以直接上手;而缺点也正是在此,FMDB只是将SQLite的C接口封装成了ObjC接口,没有做太多别的优化,即所谓的胶水代码...初试WCDB- 理解ORM ---- 下面的内容就从最基本的开始,从表的创建,到后面的CRUD的操作,以及再到后面一些高级的用法全都过一遍,在这当中涉及到的问题,有些可能会给连接大家可以自己去学习理解...宏在类文件定义绑定到数据库表的类(第二步声明了表需要的字段,第三步绑定了表中的类,第四步就等于把表和字段绑定) 根据上面的步骤,就简单的完成了ORM的基本操作,想要了解更过的关于ORM宏的用法以及定义
一.SQLite的使用 采用SQLite数据库来存储数据。SQLite作为一中小型数据库,应用ios中,跟前三种保存方式相比,相对比较复杂一些。还是一步步来吧!...//打开数据库 if (sqlite3_open([databaseFilePath UTF8String], &database)==SQLITE_OK) { NSLog(@"sqlite...所以要想正确从数据库中取出中文,需要用NSString来接收从数据库取出的字符串。...二.FMDB的使用 github地址是https://github.com/ccgus/fmdb // 继承 # pod 'FMDB/SQLCipher' 1.FMDB的创建: NSString..."]; self.db = [FMDatabase databaseWithPath:path]; 2.FMDB的打开 [self.db open]; 3.创表 创建表 [self.db
基于FMDB的ORM数据库设计 这次呢,我们来说说iOS中数据持久化的几种方案。...---- 数据库及其扩展封装 在iOS中,默认是携带sqlite3数据库的。 我们先来看看sqlite3是什么?...而在OC中使用sqlite3目前又主要分为3中方式: 使用sqlite3提供的库函数 FMDB CoreData sqlite3提供的库函数 sqlite3 本身是一套纯C的API,使用起来因人而异,有的喜欢有的不适应...这里我就不放示例代码了,找了一个专门写iOS 原生sqlite3的使用的博客,大家自己看下吧。 嘿嘿 FMDB FMDB是对sqlite3做的一层对象思想的封装。...iOS FMDB库详解 他的优势在于他将增删改三个操作都抽象成update方法,查抽象成query方法,在使用上API十分简洁。短板就在于你还是要针对不同模型去组装不同的sql语句。
这里测试用的是纯SQLite,没有用FMDB。 SQLite3: 9万条数据基础上连续单条插入一万条数据耗时:1462ms。...按照参考资料[3]中的测试结果,Realm在插入速度上比SQLite慢,比用FMDB快,而查询是比SQLite快的。...WCDB的查询速度也还可以接受,这个结果其实跟其官方给出的结果差不多:读操作基本等于FMDB速度,写操作比FMDB快很多。...的SQL语句(即使用FMDB封装的操作依然有点麻烦),Realm在日常使用上非常简单,起码在这次测试的例子中两个数据库同样的一些操作,Realm的代码只有SQLite的一半。.../wiki/iOS+macOS使用教程 [8] WCDB 官方与FMDB性能对比 https://github.com/Tencent/wcdb/wiki/性能数据与Benchmark 查看作者首页
数据库 FMDB - 多线程FMDatabaseQueue实例,FMDB数据库的使用演示和封装工具类,基于fmdb的基本操作 通过fmdb进行的数据库的基本操作(增删改查)查找是使用UISearchBar...GXDatabaseUtils - 在FMDB基础上的工具。...realm-cocoa - Realm是一个真正为移动设备打造的数据库,同时支持Objective-C和Swfit.Realm宣称其相比Sqlite,在移动设备上有着更好的性能表现,官方中文 ,iOS...官方教程,加密你的SQLite - 各种sqlite数据库加密介绍 。SQLCipherDemo下载 。...YYCache - 高性能的iOS缓存框架。 RuntimeDemo - 运行时自动归档/解档,源码分析。 Cache.swift - 一款简单,易用的缓存库。
下面我们通过 iOS 中四个常用类库 (SQLite.swift, FMDB, GRDB, Core Data) 来看看这些设计。...FMDB 方案 FMDB 与 SQLite.swift 一样都是采用串行设计,只不过 FMDB 在此基础上做了些加强:FMDB 中使用者不会接触到数据库连接而是通过在 API 闭包中组织语句来实现数据库访问...对于FMDB和GRDB 关注的上下文环境则是闭包中的 SQL 语句块。...但是这种设计也存在缺点,首先扩大后的上下文管理是一件非常麻烦的事,另外所有的写操作都会被严格束缚而且冲突处理依然很棘手,最后严格的上下文管理也让 Core Data 中编写正确的多线程代码也变得很困难。...如果搞的大而全的话则有可能导致 SQLite 的执行效率变得很差。 总体而言,FMDB 和 GRDB 采用的方式从安全性和灵活性上会更好一点。
目前,虽然SQLite也为iOS提供了数据库操作方法,但更多的时候,一般用FMDB,正如主流APP(如QQ和微信)会用到。这里介绍一个查询主流APP主要框架的网站:AppSight 。...FMDB官方源码地址传送门:https://github.com/ccgus/fmdb 。 FMDB是SQLite的Objective-C包装器:http://sqlite.org/ 。...由于FMDB是建立在SQLite之上的,所以您至少阅读相关页面一次:http://www.sqlite.org/docs.html,http://www.sqlite.org/faq.html 。...1.使用方法(Usage) ---- FMDB有三个主要的类: FMDatabase:表示一个单独的SQLite数据库。 用来执行SQLite的命令。..., 42]; 正确有做法是把数字打包成 NSNumber对象 [db executeUpdate:@"INSERT INTO myTable VALUES (?)"
FMDB 它基于SQLite封装,对于有SQLite和ObjC基础的开发者来说,简单易懂,可以直接上手;而缺点也正是在此,FMDB只是将SQLite的C接口封装成了ObjC接口,没有做太多别的优化...于是,我们造了这个“轮子” - WCDB-iOS/MacWCDB-iOS/MacWCDB-iOS/Mac(以下简称WCDB,均指代WCDB的iOS/Mac版本),是一个基于SQLite封装的Objective-C...可参考我们分享的另一篇文章《微信iOS SQLite源码优化实践》 损坏修复:数据库损坏一直是个难题,WCDB内置了我们自研的修复工具WCDBRepair。...本文是WCDB系列文章的第一篇,主要介绍WCDB-iOS/Mac的基本用法,包含: ORM、CRUD与Transaction WINQ 高级用法 ORM 在WCDB内,ORM(Object Relational...而高级用法则扩展了WCDB的功能和用法。 由于篇幅所限,本文只介绍了WCDB最表层的功能。该系列接下来还将深入介绍WCDB的架构和原理,分享WCDB高并发的解决方案、WINQ实现中的思考等等。
今天决定给手上的项目加上一个数据库,用来进行数据持久化操作,关于在iOS端的数据持久化方式的差异,这里也就不再赘述,相信如果真实使用并且去感受过的人,有自己的评判标准。...在比较了Realm、SQLite之后,我决定在项目中依然使用SQLite数据库,并切还是使用FMDB这个第三方库来简化操作。...SQLite语句,从我自身来说,感觉其实没有那么好的记忆力,所以我又花了一点点时间来温习FMDB的常规操作,想到自己从来没有总结过数据库这方面的知识,今天就花一点点时间,对iOS端SQLite数据库做一点操作层面的总结...SQLite数据库,其实并不难学,打败许多初学者的,我觉得应该是它C语言中繁琐的API。我之前说我记不住,这套API,我真的看几次忘几次。所以才有了应运而生的FMDB。...的常用操作就已经讲完了,后面还会补上FMDB的多线程操作。
SQLite大家都懂的。本地数据库,在移动设备上使用广泛。IOS平台上自然也少不了它。...最近自己折腾一个小App的时候需要使用sqlite本地数据库,上Github搜了下IOS下对SQLite的三方封装有个星星很多的FMDB。...下面我就介绍下如何在Swift下使用oc的FMDB库。 1.下载 第一步自然是去下载FMDB了。...https://github.com/ccgus/fmdb 2.建立桥接 把下载下来的zip解压。打开项目文件夹,找到fmdb文件夹,把里面所有的文件选中,拖动到你的Swfit项目中。 ...在里面输入:#import "FMDB.h" 这样我们FMDB到Swift的桥接头就建好了。 3.使用 有了桥接头,我们就可以欢快的使用FMDB了。
FMDB 它基于SQLite封装,对于有SQLite和ObjC基础的开发者来说,简单易懂,可以直接上手;而缺点也正是在此,FMDB只是将SQLite的C接口封装成了ObjC接口,没有做太多别的优化,...于是,我们造了这个“轮子” - WCDB-iOS/Mac WCDB-iOS/Mac ---- WCDB-iOS/Mac(以下简称WCDB,均指代WCDB的iOS/Mac版本),是一个基于SQLite封装的...可参考我们分享的另一篇文章《微信iOS SQLite源码优化实践》 损坏修复:数据库损坏一直是个难题,WCDB内置了我们自研的修复工具WCDBRepair。...本文是WCDB系列文章的第一篇,主要介绍WCDB-iOS/Mac的基本用法,包含: ORM、CRUD与Transaction WINQ 高级用法 ORM ---- 在WCDB内,ORM(Object...而高级用法则扩展了WCDB的功能和用法。 由于篇幅所限,本文只介绍了WCDB最表层的功能。该系列接下来还将深入介绍WCDB的架构和原理,分享WCDB高并发的解决方案、WINQ实现中的思考等等。
工程中经常需要使用数据库来保存一些数据在本地手机上,iOS是自带Sqlite的,但是常用的还是第三方的类库——FMDB。...NSUserDomainMask, YES); NSString *dbFilePath = [docs[0] stringByAppendingPathComponent:@"db.sqlite...或者更彻底想要删除表也可以: //删除名为user的表 [self.db executeUpdate:@"DROP TABLE user"]; 或者再加大力度毁灭世界销毁数据库本身,这里用到的就不止是FMDB...先关闭数据库再删除 //删除文件 [fileManager removeItemAtPath:dbFilePath error:&error]; } 至此,基本的用法都说到了...,数据库都被销毁了,日后遇到了什么新的用法再来重建世界吧。
开发入门 (1) 斯坦福白胡子老头iOS8视频 斯坦福大学公开课:iOS 8开发 这个公开课每个iOS版本都有,基本是用一个demo来讲解iOS开发,每个版本的demo都不一样,iOS7是用Objective-C...(2) iOS工程的目录结构 Round 1 - iOS项目工程及目录结构 iOS项目工程及目录结构 区分不同层次的通用组件。 General Level, 最通用的组件,可以在不同项目里复用。...3.x 使用 FMDB FMDB是iOS平台的SQLite数据库框架,FMDB以OC的方式封装了SQLite的C语言API [iOS]数据库第三方框架FMDB详细讲解 FMDB 使用方法 libextobjc...这样可以保证系统一定会调用 -updateConstraints 方法 从而正确添加约束。...-对象归档 SQLite3 Core Data // TODO: 2017/10/23 继续完善本文直到结束入门 When they are needed, comments should be used
iOS开发的基本上都知道fmdb,自从用了fmdb之后都忘记了原生的sqlite3操作了(fmdb太好用了)。...SQLite是一个轻量级的关系数据库。...SQLite最初的设计目标是用于嵌入式系统,TA占用资源非常少,在嵌入式设备中,只需要几百K的内存就够了,目前应用于Android、iOS、Windows Phone等智能手机。...SQLite支持的数据类型 类型 说明 INTEGER 有符号整型 REAL 浮点型 TEXT 字符串类型,采用UTF-8 UTF-16编码,在iOS中注意转换 BLOB 大二进制对象类型,能够存放任何二进制数据...创建数据库 创建数据库前需要加入libsqlite3.0.tbd依赖以及引入sqlite3.h头文件#import sqlite3.h> 1.使用sqlite3_open函数打开数据库 2.使用sqlite3
SQLite3和FMDB SQLite3是一款轻型的关系型数据库,在移动端中广泛应用。...SQLite3基于C语言实现,OC可以直接兼容,iOS系统也自带了SQLite3,提供的方法是直接操作数据库。...FMDB FMDB对SQLite数据库进行封装,开放OC的接口便于开发者接入,是很普遍使用的iOS第三方数据库。 GitHub仓库地址,也可以使用pod接入。...:多线程用的查询或更新队列; FMDB的使用: FMDatabase *db = [FMDatabase databaseWithPath:path]; // create db [db open];...SQLite3是iOS中最常用的数据库,通常我们会第三方封装库FMDB来操作,简化代码逻辑。 如果涉及到安全相关的敏感数据,则不应该保存在文件、数据库等可以被抓取的地方。
Core Data数据持久化是对SQLite的一个升级,它是ios集成的,在说Core Data之前,我们先说说在CoreData中使用的几个类。...Core Data直接与Sqlite交互,避免开发者使用原本的SQL语句....示例Demo : CoreData 增删改查 SQlite mac os x中sqlite库,它是一个轻量级功能强大的关系数据引擎,也很容易嵌入到应用程序。...可以在多个平台使用,sqlite是一个轻量级的嵌入式sql数据库编程。与core data框架不同的是,sqlite是使用程序式的,sql的主要的API来直接操作数据表。...FMDB FMDB框架其实只是一层很薄的封装,主要的类也就两个:FMDatabase和FMResultSet。在使用fmdb的时候还需要导入libsqlite3.0.dylib。