SQLite.swift 是一个使用纯 Swift 语言封装 SQLite3 的操作框架。
特性:
-
简单的查询和参数绑定接口
-
安全、自动类型数据访问
-
隐式提交和回滚接口
-
开发者友好的错误处理和调试
-
文档完善
-
通过广泛测试
示例代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
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)
)
|
安装
Note: SQLite.swift requires Swift 1.1 (available in Xcode 6.1).
To install SQLite.swift:
-
Drag the SQLite.xcodeproj file into your own project. (Submodule, clone, or download the project first.)
-
In your target’s Build Phases, add SQLite iOS (or SQLite Mac) to the Target Dependencies build phase.
-
Add the appropriate SQLite.framework product to theLink Binary With Libraries build phase.
-
Add the same SQLite.framework to a Copy Files build phase with aFrameworks destination. (Add a new build phase if need be.)
项目主页:http://www.open-open.com/lib/view/home/1412900499530
https://github.com/stephencelis/SQLite.swift