「sqlite データベースからデータを取得する」ために CoreData を使用しないでください。「sqlite データベースからデータを取得する」必要がある場合は、FMDBなどを使用します。FMDB は、iOS 用の sqlite3 のラッパーです。ステートメントをすぐにコピーselect
して、FMDB にラップできるはずです。
CoreData を使用しても、SQL 言語で考えることは混乱を招くだけです。CoreData を使用する場合は、CoreData が永続ストレージとして sqlite db を使用しているという事実を無視し、SQL 言語について知っていることをすべて忘れてください。
CoreData は、データベース インターフェイスではなく、オブジェクト グラフ フレームワークです。デフォルトで sqlite db にデータを保存することがありますが、プログラマーの観点からはオブジェクトの使用法です。行やテーブルに関してではありません。
FMDBに戻ります。そこで、データベースが次のように開かれます。
FMDatabase *theDatabase = [FMDatabase databaseWithPath:pathToDB];
select
格納された行は次のステートメントで取得されます。
FMResultSet *setOfRows = [db executeQuery:@"select * from tableName where attribute = ?", @"some criteria'"];
次に、次を使用して取得した行を反復処理しますwhile
。
while ([setOfRows next]) {
NSLog(@"%d %@ %@ %f", // simply print to the console
[rs intForColumn:@"integerColumn"],
[rs stringForColumn:@"attribute"],
[rs dateForColumn:@"dateColumn"],
[rs doubleForColumn:@"doubleValue"]);
}
Android でデータベース レイアウトを設計するために行ったすべての作業を保持できるはずです。アクセス部分を包むだけ。構文の詳細については、FMDBの github ページに適切な readme があります。