这里是文章模块栏目内容页
iossqlite详解

SQLite是一种轻型的嵌入式关系数据库,可以在iOS上使用。它支持标准的SQL功能(select、update、insert 和 delete ),但不需要独立的服务器进行处理。它具有小巧、快速、易学习的特性,因此很受iOS开发者的欢迎。

1. SQLite文件保存位置

iOS中SQLite文件会被保存在App Documents目录下://Documents, 例如iTunes File Sharing 方法也可以让我们随时把生成好的sqlite数据库文件导出到电脑里去工作。

2. 连接SQLite

首先使用Xcode创建一个新工程 :File -> New Project -> Single View Application --> Name it and create; 然后找到ViewController.m , 在#import "ViewController.h"之前写上 #include . 这里实例化了sqlite3 *db ; 接下来打开并连接数据库: sqlite3_open([[self getDBPath] UTF8String], &db) ; [[self getDBPath] UTF8String] ---> 返回NSString对象, 耗时清单中getDBPath---> 负责找到读写数据库文件(app documents目录), db -〉将会作为处理语句之间交流信道老师傅使用.. 代码如下 : // Open the database connection int openDbResult = sqlitep_open([[self get DB Path ]UTF 8 String], & _db ); if (open Db Result != SQLITE Success) { // Handle Error... } else { NSLog (@" Database Connection Established"); }

3. 执行SQlite命令

由于SQLITE是一个真正意义上C常语般得RDMBS(Relational DataBase Management System), 向它“大声朗诵”想要它干的事情非常重要 —— 最important! “Speak to it in its own language” ! 针对表ContactTable, 相关MySampleDatabase ToDoList Create Table Command: CREATE TABLE ContactTable ( id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE, name TEXT NOT NULL DEFAULT '', age INTEGER NOT NULL DEFAULT 0 ); Insert a record into ContactTable : INSERT INTO contacttable (name,age ) VALUES ('John Smith', 30); 更多高级命令如update \ delete \ select\ alter table \ truncate table……都是标准常语法 , 大同小异.. // Execute Statement char *error; int executeStatmentResult = sqlitep_exec(_db,"CREATE TABLE IF .....",0 , 0 ,&error); if(executeStatementResult != SqlteSuccess){ NSLog('Error creating table: %s", error); }