import SQLite以下のようなコードを貼り付けます。
参考
Macにおけるバックスラッシュ(\)の入力方法
html上でバックスラッシュと円マークを共存表示する方法
このコードはプロジェクトごと https://github.com/m-tmatma/SQLiteTest.git で公開しています。
let path = NSSearchPathForDirectoriesInDomains(
.applicationSupportDirectory, .userDomainMask, true
).first! + Bundle.main.bundleIdentifier!
print("\(path)")
if FileManager.default.fileExists(atPath: path) {
do {
try FileManager.default.removeItem(atPath: path)
print("Removal successful")
} catch let error {
print("Error: \(error.localizedDescription)")
}
}
let id = Expression("id")
let email = Expression("email")
let name = Expression("name")
let users = Table("users")
do
{
// create parent directory iff it doesn’t exist
try FileManager.default.createDirectory(
atPath: path, withIntermediateDirectories: true, attributes: nil
)
let db = try Connection("\(path)/db.sqlite3")
try db.run(users.create { t in // CREATE TABLE "users" (
t.column(id, primaryKey: true) // "id" INTEGER PRIMARY KEY NOT NULL,
t.column(email, unique: true) // "email" TEXT UNIQUE NOT NULL,
t.column(name) // "name" TEXT
}) // )
try db.run(users.insert(email <- "alice@mac.com", name <- "Alice"))
// INSERT INTO "users" ("email", "name") VALUES ('alice@mac.com', 'Alice')
try db.run(users.insert(email <- "test@mac.com", name <- "test"))
// INSERT INTO "users" ("email", "name") VALUES ('test@mac.com', 'test')
for user in try db.prepare(users.select(id, email)) {
print("id: \(user[id]), email: \(user[email])")
// id: 1, email: alice@mac.com
// id: 2, email: test@mac.com
}
} catch {
print("insertion failed: \(error)")
}