介绍
在整个周期,核心数据是最重要的部分,在开发初期数据库往往很容易被忽略,我们所聊的SQlite,大概很多人都了解SQlite是核心数据库, 是IOS设备上的首选关系数据储存方式。
雖然,大部分開發商不與 SQLite的直接互動,他們仍然倾向Hood引擎,作為核心數據的主要數據存儲。這是可取的,但有很多時候,原始SQLite的仍然是首選的存儲方法。
其中的几个可能包括:
高速缓存
首选项
简单对象
可移植性
跨平台应用程序
最近,我不得不作出停止使用sqlite的缓存策略作为一个新的项目在我的工作中。因为我们正在开发其他开发框架,包括在自己的项目上,我们不能总是认为他们有他们的环境设置使用的核心数据。我曾疯狂的手动管理SQlite,但我还是一个n00b IOS开发者时。所以请不要花太多时间看这个帖子,因为说起来比较尴尬。
肯定会有人不解?现在,有一个更容易的方法来管理与SQLite数据库进行交互。这个库已经存在了很长一段时间,我想我知道应该略早些。
FMDB stands for Flying Meat Database.这是一个伟大的名字......该项目旨在对SQLite是一个功能齐全的包装
你可以克隆他们的资源在他们的网站上https://github.com/ccgus/fmdb
本教程将为您简要介绍使用FMDB创建一个数据库,创建表,插入,提取,和删除数据。
项目设置
第一步是下载FMDB从他们的官网上。一旦被下载到您的项目src文件夹拖动里面的一切,除了fmdb.m.该文件包含单元测试和一个主要的程序,这将导致在您的项目中可能产生一些冲突。
下一步是SQLite库链接。要做到这几点:
按照上面操作以后会如图所示:
现在我们已经有一个库了,让我们来键入一些代码
创建数据库
显然,这里你已经创建了你的数据库,但我们要应用在AppDelegate中。
此外,在现有的数据库工作,FMDB可以轻松地创建你任何数量上的数据库。进入FMDatabase.h在我们AppDelegate.m的文件后,我们可以到应用程序中添加以下代码:didFinishLaunching方法。
首先,我们要 解决 文件 目录 的 路径 。 要小心 , 如果 您不需要 您的数据库 进行备份 ,可以 使 缓存目录 。 当你 发送一个 路径 的 fmdb
databaseWithPath 方法 , 它首先检查 数据库是否存在 , 如果不是 ,它会创建 它 。 同样,我们 可以复制 一个 现有的数据库 文件 目录 和 源代码采用 相同的方式 。
打开数据库和创建表
为了执行对数据库的任何行动,它必须首先被打开。下面是代码,打开数据库,并创建一个用户表。不要担心现在关闭它,我们会自动处理的,在我们需要时。
在 这里 , 我们首先调用 Open方法打开 数据库 。 接下来,我们使用 executeUpdate方法 来创建表 。 确保 在创建表时 , 您使用 此方法并 没有 executeQuery 。 这 是 一个常见的错误 。 我们 更新 后 的数据库 看起来应该像这样 :
当我们到达这个步骤时,我们关闭数据库。
插入和删除数据
插入数据,使用SQLite是非常简单。你可以建立你的字符串,并直接或通过他们使用SQLite的格式“?”“来让fmdb做的工作。下面是每一个例子:
一般来说, 第二条路线 是首选, 作为 fmdb他 会 为您 做 一些 消毒工作 ( 如 单引号 中 添加 斜线 ) 。
现在,我们已经 在我们的数据库中添加了 一些数据 ,让我们 将其删除 。 下面的代码 会删除条件为 一个 25岁以下的 所有用户 :
查询数据库 查询数据库会略微麻烦点,相对插入和删除。
FMDB帮助我们在某些情况下,提供了一些很强大的实用方法,但对于本教程,我们将假定不存在的,并且告诉你如何获取数据。
(所以,我们其实有一些数据工作)。
以下是从数据库中获取所有用户的一个例子:
我们首先 使用 executeQuery方法 查询数据库 。 这将返回 给我们 的 FMResultsSet 。 接下来,我们 开始 了一个while循环 , 同时 进行检索和 提取 出 我们 每 一个 数据点 。 最后,我们 打印出 每个用户 。
在整个周期,核心数据是最重要的部分,在开发初期数据库往往很容易被忽略,我们所聊的SQlite,大概很多人都了解SQlite是核心数据库, 是IOS设备上的首选关系数据储存方式。
雖然,大部分開發商不與 SQLite的直接互動,他們仍然倾向Hood引擎,作為核心數據的主要數據存儲。這是可取的,但有很多時候,原始SQLite的仍然是首選的存儲方法。
其中的几个可能包括:
高速缓存
首选项
简单对象
可移植性
跨平台应用程序
最近,我不得不作出停止使用sqlite的缓存策略作为一个新的项目在我的工作中。因为我们正在开发其他开发框架,包括在自己的项目上,我们不能总是认为他们有他们的环境设置使用的核心数据。我曾疯狂的手动管理SQlite,但我还是一个n00b IOS开发者时。所以请不要花太多时间看这个帖子,因为说起来比较尴尬。
肯定会有人不解?现在,有一个更容易的方法来管理与SQLite数据库进行交互。这个库已经存在了很长一段时间,我想我知道应该略早些。
FMDB stands for Flying Meat Database.这是一个伟大的名字......该项目旨在对SQLite是一个功能齐全的包装
你可以克隆他们的资源在他们的网站上https://github.com/ccgus/fmdb
本教程将为您简要介绍使用FMDB创建一个数据库,创建表,插入,提取,和删除数据。
项目设置
第一步是下载FMDB从他们的官网上。一旦被下载到您的项目src文件夹拖动里面的一切,除了fmdb.m.该文件包含单元测试和一个主要的程序,这将导致在您的项目中可能产生一些冲突。
下一步是SQLite库链接。要做到这几点:
1,单击左侧列中的Xcode项目
2,点击在中间一列的主要目标。在我们的例子中,它的“FMDBTest”
3,点击在第三列中的“构建阶段”标签
4,旁边的箭头,展开“链接库的二进制”
5,点击“+”按钮
6,搜索libsqlite3.0.dylib并双击它
按照上面操作以后会如图所示:
现在我们已经有一个库了,让我们来键入一些代码
创建数据库
显然,这里你已经创建了你的数据库,但我们要应用在AppDelegate中。
此外,在现有的数据库工作,FMDB可以轻松地创建你任何数量上的数据库。进入FMDatabase.h在我们AppDelegate.m的文件后,我们可以到应用程序中添加以下代码:didFinishLaunching方法。
首先,我们要 解决 文件 目录 的 路径 。 要小心 , 如果 您不需要 您的数据库 进行备份 ,可以 使 缓存目录 。 当你 发送一个 路径 的 fmdb
databaseWithPath 方法 , 它首先检查 数据库是否存在 , 如果不是 ,它会创建 它 。 同样,我们 可以复制 一个 现有的数据库 文件 目录 和 源代码采用 相同的方式 。
打开数据库和创建表
为了执行对数据库的任何行动,它必须首先被打开。下面是代码,打开数据库,并创建一个用户表。不要担心现在关闭它,我们会自动处理的,在我们需要时。
在 这里 , 我们首先调用 Open方法打开 数据库 。 接下来,我们使用 executeUpdate方法 来创建表 。 确保 在创建表时 , 您使用 此方法并 没有 executeQuery 。 这 是 一个常见的错误 。 我们 更新 后 的数据库 看起来应该像这样 :
当我们到达这个步骤时,我们关闭数据库。
插入和删除数据
插入数据,使用SQLite是非常简单。你可以建立你的字符串,并直接或通过他们使用SQLite的格式“?”“来让fmdb做的工作。下面是每一个例子:
一般来说, 第二条路线 是首选, 作为 fmdb他 会 为您 做 一些 消毒工作 ( 如 单引号 中 添加 斜线 ) 。
现在,我们已经 在我们的数据库中添加了 一些数据 ,让我们 将其删除 。 下面的代码 会删除条件为 一个 25岁以下的 所有用户 :
查询数据库 查询数据库会略微麻烦点,相对插入和删除。
FMDB帮助我们在某些情况下,提供了一些很强大的实用方法,但对于本教程,我们将假定不存在的,并且告诉你如何获取数据。
(所以,我们其实有一些数据工作)。
以下是从数据库中获取所有用户的一个例子:
我们首先 使用 executeQuery方法 查询数据库 。 这将返回 给我们 的 FMResultsSet 。 接下来,我们 开始 了一个while循环 , 同时 进行检索和 提取 出 我们 每 一个 数据点 。 最后,我们 打印出 每个用户 。