SQLite.swift 是一个使用纯 Swift 语言封装 SQLite3 的操作框架。
特性:
简单的查询和参数绑定接口
安全、自动类型数据访问
隐式提交和回滚接口
开发者友好的错误处理和调试
文档完善
通过广泛测试
示例代码:
import SQLite
let db = Database("path/to/db.sqlite3")
db.execute(
"CREATE TABLE users (" +
"id INTEGER PRIMARY KEY, " +
"email TEXT NOT NULL UNIQUE, " +
"manager_id INTEGER, " +
"FOREIGN KEY(manager_id) REFERENCES users(id)" +
")"
)
let stmt = db.prepare("INSERT INTO users (email) VALUES (?)")
for email in ["alice@example.com", "betsy@example.com"] {
stmt.run(email)
}
db.totalChanges // 2
db.lastChanges // {Some 1}
db.lastID // {Some 2}
for row in db.prepare("SELECT id, email FROM users") {
println(row)
// [Optional(1), Optional("betsy@example.com")]
// [Optional(2), Optional("alice@example.com")]
}
db.scalar("SELECT count(*) FROM users") // {Some 2}
let jr = db.prepare("INSERT INTO users (email, manager_id) VALUES (? ?)")
db.transaction(
stmt.run("dolly@example.com"),
jr.run("emery@example.com", db.lastID)
)