さて、どうやって使うんだろーとグーグル先生に尋ねてみると
GRDBでSQLiteデータベースを使う(Swift3.0) - Swiftサラリーマンにたどり着いた。このサイトではCocoaPodsを使っているみたいなんだが、ここでは手動でやってみようと思う。macOSを対象にやっていくが、iOSでも同じような感じだ。

ここからダウンロードして展開しておく。
Sqliteを使うプロジェクトを用意して、ダウンロードしたGRDBにあるGRDB.xcodeprojを追加する。メニューのFile - Add Files to "〜〜"で追加する。

001

Target DependenciesのBuild PhasesにmacOSならGRDBOSX、iOSならGRDBiOSを追加する。
Target DependenciesのBuild Phasesはプロジェクトを選んでBuild Phasesタブを選択するとそこにある。

002

+ ボタンを押してGRDBOSX(GRDBiOS)を追加する。

003

GeneralのEmbedded BinariesにGRDB.frameworkを追加する。
GeneralのEmbedded Binariesはプロジェクトを選んでGeneralタブを選択するとそこにある。

004

+ ボタンを押してGRDB.frameworkを追加する。

005

[Java] SQLiteを使う。と同じことをやってみる。
ソースの頭の方に

import GRDB

を追加する。
テーブル作ったり、データ追加したり、検索したりするのはこんな感じになる。

        let dbFilename = NSTemporaryDirectory() + "test.db"
        print(dbFilename)
        do {
            let dbQueue = try DatabaseQueue(path: dbFilename)

            try dbQueue.inDatabase({db in
                // テーブルを作る
                var sql = "CREATE TABLE IF NOT EXISTS test(id INTEGER PRIMARY KEY, name TEXT)"
                try db.execute(sql)

                // データを登録
                sql =  "INSERT INTO test(id, name) VALUES(?, ?)"
                for i in 0..<10 {
                    try db.execute(sql, arguments: [i+1, "hoge" + i.description])
                }
                
                // 検索する
                sql =  "SELECT * FROM test"
                let rows = try Row.fetchCursor(db, sql)
                while let row = try rows.next() {
                    let id:Int? = row.value(named: "id")
                    let name:String? = row.value(named: "name")
                    print("\(id!):\(name!)")
                    
                }
            })
            
        } catch {
            
        }