1. 執行個體化FMDatebase
// paths: ios下Document路徑,Document為ios中可讀寫的檔案夾NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);NSString *documentDirectory = [paths objectAtIndex:0];// dbPath: 資料庫路徑,在Document中。NSString *dbPath = [documentDirectory stringByAppendingPathComponent:@"Test.db"];// 建立資料庫執行個體 db 這裡說明下:如果路徑中不存在"Test.db"的檔案,sqlite會自動建立"Test.db"FMDatabase *db= [FMDatabase databaseWithPath:dbPath] ;if (![db open]) { NSLog(@"Could not open db."); return ;}
2. 建立表
// 建立一個名為User的表,有兩個欄位分別為string類型的Name,integer類型的 Age[db executeUpdate:@"CREATE TABLE User (Name text,Age integer)"];
3. 插入
// 插入資料使用OC中的類型 text對應為NSString integer對應為NSNumber的整形[db executeUpdate:@"INSERT INTO User (Name,Age) VALUES (?,?)",@"張三",[NSNumber numberWithInt:20]];
4. 更新
// 更新資料 將“張三”更改為“李四”[db executeUpdate:@"UPDATE User SET Name = ? WHERE Name = ? ",@"李四",@"張三"];
5. 刪除
// 刪除資料[db executeUpdate:@"DELETE FROM User WHERE Name = ?",@"張三"];
6. 查詢
// 返回資料庫中第一條滿足條件的結果NSString *aa=[db stringForQuery:@"SELECT Name FROM User WHERE Age = ?",@"20"];// 返回全部查詢結果FMResultSet *rs=[db executeQuery:@"SELECT * FROM User"];rs=[db executeQuery:@"SELECT * FROM User WHERE Age = ?",@"20"];while ([rs next]){ NSLog(@"%@ %@",[rs stringForColumn:@"Name"],[rs stringForColumn:@"Age"]);}[rs close];