SQLite is a public domain
database library that offers file and memory based relational database
functionality from a single C library. The iPhone / iPod Touch has the
SQLite library included and ready to roll and Apple expects the SQLite
library to form the backbone of most applications’ data storage
requirements.
We’ve collected together some of the best SQLite related tutorials,
and libraries in order to help you on your way with this essential
iPhone programming technology:
Tutorials
iPhone SQLite Database Basics by Lee Falin
is a comprehensive introduction to using SQLite in respect to iPhone
application development. He covers SQLite database creation and iPhone
specific database design considerations well. Lee’s tutorial has lots of
screenshots and he takes a step-by-step approach that’s easy to follow.
He walks through creating an SQLite database from scratch (on the
desktop to start with) and then imports that into an XCode project. Bear
in mind, however, that Lee’s tutorial is not about the actual coding necessary to use SQLite on the iPhone itself.
Reading data from a SQLite Database by Dean Collins
is a wonderful “start to finish” tutorial that covers creating an
SQLite database, creating an XCode project, and then all the code
necessary to use that database within an iPhone app. There’s even a link
to an archive of the code used in the tutorial so you can more quickly
try it out for yourself.
SQLite Tutorial 1: Selecting Data by Jai Kirdatt
is the first in five SQLite focused tutorials from the aforementioned
author. This one covers creating an SQLite database and, like Dean’s
tutorial above, using that database from Objective C. There’s more code
and less screenshots than in the aforementioned tutorials, so this
tutorial is worth coming to once you’re totally confident with the
basics. Source code is available to download at the bottom of the post.
SQLite Tutorial 2: Deleting Data by Jai Kirdatt follows on nicely from the previous tutorial and quickly demonstrates how to delete rows of data from an SQLite database.
SQLite Tutorial 3: Adding Data by Jai Kirdatt demonstrates how to add data to an SQLite database from Objective C.
SQLite Tutorial 4: Loading Data As Required by Jai Kirdatt shows how to select rows in a database to then display in a detail view. Data is only loaded when it is required.
SQLite Tutorial 5: Updating Data by Jai Kirdatt shows you how to update the database when fields on a form are edited and the application is then terminated.
Libraries
EntropyDB
is an embedded object database for OS X 10.5 and iPhone OS written in
Objective C that’s built on top of SQLite. It provides a nicer API than
that offered by SQLite directly. You don’t need to use SQL at all, but
instead just work with Objective C objects!
SQLitePersistentObjects
allows you to call “save” on your objects and trust that they will be
saved properly and can be easily reloaded in future. No SQL required.
FMDB is a library that acts as a wrapper around SQLite – inspired by JDBC. fmdb-migration-manager (originally by last week’s podcast interviewee – Dr Nic Williams) allows you to easily roll out database migrations using fmdb.
iPhone SQLite Persistence for Objects
is an open source project that lets you add “object persistence” to
your applications. The object persistence uses SQLite, and the library
works on both the iPhone and iPod Touch.