介绍
在整个周期,核心数据是最重要的部分,在开发初期数据库往往很容易被忽略,我们所聊的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循环,同时进行检索和提取出我们每一个数据点。最后,我们打印出每个用户。