添加framework
libsqlite3.dylib
并
import "FMDB.h"
FMDatabase基本使用方法
defineKFileName @"tmp.db"
创建或打开数据库
-(BOOL)openDatabase{// 设置创建路径NSString homeDirectory = NSHomeDirectory();NSString tmpDir = [homeDirectory stringByAppendingFormat:@"/tmp/%@", KFileName];NSLog(@"路径 %@", tmpDir);// 如果是第一次创建,可以到该路径下去查看文件是否创建成功// 初始化数据库db = [FMDatabase databaseWithPath:tmpDir];// 打开数据库,如果数据库存在则打开,如果不存在则会创建一个return[db open]; }
创建table
创建table-(BOOL)createTable{// 关于sqlite的更多操作可以去官网上查找/所有操作语句都是是sql基本操作,如果不清楚,建议去官网上查看,在本文中我也会对每个操作语句进行解释为了更加直观的看到结果,可以下载一个sql工具,直接查看和操作数据库中的数据*/// 在刚才打开的数据库,如果不存在表testTable,则创建,table中字段包括,一个自增id(自增id 插入记录时如果不设定值,则会根据上一条记录+1),一个text类型userNSString *statement = [NSString stringWithFormat:@"create table if not exists testTable(id integer primary key autoincrement, user text)"];return[db executeStatements:statement];}
大家工作中,最常用到的无非是 增、删、查、改。。。
接下来,我们就可以开始测试各种的sql语句了:
向数据库插入一条记录:
BOOLoperaResult = [fm executeUpdate:@"INSERT INTO test_tab (name,age,mail) VALUES (?,?,?)",@"佳",@"4",@"c0066@gmail.com"];
修改数据库中的某条记录:
BOOLoperaResult = [fm executeUpdate:@"UPDATE test_tab SET name=? WHERE name=?",@"123",@"佳"];
从数据库删除某条记录:
BOOLoperaResult = [fm executeUpdate:@"DELETE FROM test_tab WHERE name=?",@"jiajia"];
从数据库获得记录,并按照降序排序:
FMResultSet *s = [fm executeQuery:@"SELECT * FROM test_tab ORDER BY age DESC"];