数据库在IOS Sqlite3和数据库

我正在学习iOS数据库中的一些概念…我知道sqlite3(开源)是用于数据库,但我正在经历一些github代码…

并碰到这两行:

NSString *sqLiteDb = [[NSBundle mainBundle] pathForResource:@"banklist" ofType:@"sqlite3"] 

  NSString *databaseFilename =@"abc.db" 
  1. 你能告诉我,我们将在哪里使用sqlite3和哪里的db
  2. 你也可以提供一些很好的链接来学习iOS的数据库(从示例项目中,当我打开文件中的db文件我不明白)?
  3. 我怎样才能打开db文件和sqlite文件?
  4. 有什么免费的工具可用于iOS读取这些数据库文件?

你问:

你能告诉我,我们将在哪里使用sqlite3和哪里的db

您可以使用任一扩展名。 没关系。 sqlite (不含3)和db都是常用的。

你还可以为我提供一些很好的链接来学习iOS的数据库

Google“ios sqlite教程”

我一般喜欢Ray Wenderlich教程和他的SQLite教程在这里: iPhone开发人员的SQLite 101:使我们的应用程序 。 我对这个教程唯一的批评就是我不喜欢他从包中打开一个数据库的事实。 在打开“文档”文件夹中的数据库之前,应始终首先将数据库从数据库复制到“文档”文件夹。

我怎样才能打开数据库文件和sqlite文件

您可以用同样的方法打开数据库(即传统上使用dbsqlite扩展名的文件)。 这是同样的文件,只是一个不同的扩展名。 一般过程是:

  • 在您的Mac上创build数据库,并将其包含在项目和结果包中。 然后,以编程方式检查数据库是否已存在于Documents文件夹中,如果没有,则从该软件包复制到Documents文件夹(如果这样做,则可能需要使用带有SQLITE_OPEN_READWRITE选项的sqlite3_open_v2 ,而不是SQLITE_OPEN_CREATE选项,所以如果找不到数据库就不会创build); 要么

  • 通过编程方式创build数据库(a)检查它是否存在于Documents中,如果没有,则创build数据库(使用sqlite3_open_v2SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE选项或sqlite3_open (默认使用这两个选项)),然后执行SQL CREATE报表; 或者(b)如果它已经存在于“文档”文件夹中,请使用它。

如果你通过你发现的各种教程,他们会引导你或接近另一个。 两种技术都是有效的。

有什么免费的工具可用于iOS读取这些数据库文件

我不认为有iOS工具(因为应用程序在其各自的沙箱中保留其文件(而数据库只是一种文件types),因此一个应用程序无法在另一个应用程序的“文档”文件夹中打开数据库)。 但是在开发过程中有很多Mac工具。

  • Terminal命令行界面中提供的sqlite3程序。

  • 我使用Base ,一个好的,相当基本的工具

  • 我想很多人使用FireFox SQLitepipe理器工具


你没有问,但如果你开始SQLite开发,使用FMDB可以大大简化你的Objective-C代码。 如果我没有注意到Core Data是iOS开发的首选数据库技术,那么我将会失职。 使用SQLite(例如通过FMDB)可能有令人信服的理由,但是苹果devise了丰富的Core Data框架,这对于仅限iOS的应用程序有一些优势。 这有点复杂,但有一些优点。

让! 我试着一一解答你所有的问题

1.下面的路线

 NSString *sqLiteDb = [[NSBundle mainBundle] pathForResource:@"banklist" ofType:@"sqlite3"] 

是说我们将创buildbanklist.sqlite3文件来存储我们的数据库。


2.我们使用sqlite数据库,每当我们需要在本地存储应用程序的信息,它可以是你的select。


3. 为了学习sqlite我已经创build了简单的一步一步教程与示例代码

SQL教程中的SQLIte

我会build议你请! 阅读并自己完成,你会得到你所有问题的答案。


4.阅读或编辑我使用一个开源工具名称“ sqlite浏览器 ”,你可以从这里下载


你可以find你的应用程序数据库文件,并用我提到的工具打开。 这里是你可以在你的系统中find的db文件path。

注意 :这只是您的应用程序path的参考将是不同的,但以相同的方式

/ Users / RDCMac / Library / Application Support / iPhone Simulator / 6.1 / Applications / 0975F545-E4D2-40E8-97C6-0EA7F8995315 / Documents / contacts.db

—————–

请! 让我知道如果你需要任何帮助,很高兴帮助!

A.1。 无论你喜欢什么,你都可以命名该文件。 但保持扩展到.sqlite3是比较合理的。 根据你上面的例子,有两件事情会发生。 在第一种情况下,对于iPhone应用程序,可以在项目包中添加数据库文件,并在应用程序中使用数据库。 这个数据库是只读的。

或者,在第二种情况下,您可以在应用程序中存储和修改数据。 在这种情况下,你命名一个sqlite文件,以后在数据库操作你操纵该文件。 通常这个数据库文件应该存储在设备的文档文件夹中。 此外,coredata可以使用sqlite文件存储并对数据库文件进行操作。

在包中有一个可修改的数据库的一个有用的技术是在第一次运行时将数据库复制到文档文件夹。 记住捆绑中的任何东西都是不可修改的。

A.3。 你可以使用firefox插件来打开,创build和修改sqlite文件。 https://addons.mozilla.org/En-us/firefox/addon/sqlite-manager/

A.4。 不清楚。 你想要iOS的第三个问题吗?

1)sqlite3是用于sqlite数据库文件的扩展。 而数据库通常用于数据库文件。 你可以使用sqlite3或db。 这没有问题。

参考: SO

2)教程:

  • iOS的SQLite数据库应用程序
  • 基于SQLite的iOS 6应用程序
  • Sqlite的iOS
  • Sqlite教程

3)打开db或sqlite文件,你可以使用任何sqlite工具。

4) SQLitepipe理器是一个免费的Firefox插件。 这是一个方便的工具来创buildsqlite数据库