SQLite.swift —— 安全、高效的Swift数据库解决方案

SQLite.swift —— 安全、高效的Swift数据库解决方案

SQLite.swiftstehencelis/SQLite.swift: 是一个基于 Swift 语言的 SQLite 数据库库,它提供了易于使用的 API 和工具用于 SQLite 数据库的开发。适合用于 Swift 语言应用程序的数据库开发,特别是对于需要使用 SQLite 的场景。特点是易于使用、基于 Swift 语言、支持多种数据库操作。项目地址:https://gitcode.com/gh_mirrors/sq/SQLite.swift

Build Status CocoaPods Version Swift5 compatible Platform Carthage compatible Join the chat at https://gitter.im/stephencelis/SQLite.swift

SQLite.swift 是一个纯Swift编写的SQLite3接口层,它提供了类型安全和可选匹配的SQL表达式构建器,让开发人员在编译阶段就能检查SQL语句的语法和意图。

特性

  1. 纯Swift实现
  2. 类型安全的SQL表达式构造器
  3. 灵活、链式查询执行层
  4. 自动类型数据访问
  5. 轻量级、简单的查询和参数绑定接口
  6. 开发者友好的错误处理和调试工具
  7. 支持全文搜索
  8. 内部详细文档
  9. 广泛的测试覆盖
  10. 通过CocoaPods支持SQLCipher加密
  11. 可查询的数据库结构和迁移方案
  12. 在Linux上可用(部分功能受限)
  13. 社区活跃,提供StackOverflow及Gitter聊天室支持

使用方法

import SQLite

do {
    let db = try Connection("path/to/db.sqlite3")

    let users = Table("users")
    let id = Expression<Int64>("id")
    let name = Expression<String?>("name")
    let email = Expression<String>("email")

    try db.run(users.create { t in
        t.column(id, primaryKey: true)
        t.column(name)
        t.column(email, unique: true)
    })

    let insert = users.insert(name <- "Alice", email <- "alice@mac.com")
    let rowid = try db.run(insert)

    for user in try db.prepare(users) {
        print("id: \(user[id]), name: \(user[name]), email: \(user[email])")
    }

    let alice = users.filter(id == rowid)

    try db.run(alice.update(email <- email.replace("mac.com", with: "me.com")))

    try db.run(alice.delete())

    try db.scalar(users.count) // 0
} catch {
    print(error)
}

SQLite.swift也可以作为轻量级Swift友好的C API包装器使用:

do {
    let stmt = try db.prepare("INSERT INTO users (email) VALUES (?)")
    for email in ["betty@icloud.com", "cathy@icloud.com"] {
        try stmt.run(email)
    }

    db.totalChanges    // 3
    db.changes         // 1
    db.lastInsertRowid // 3

    for row in try db.prepare("SELECT id, email FROM users") {
        print("id: \(row[0]), email: \(row[1])")
    }

    try db.scalar("SELECT count(*) FROM users") // 2
} catch {
    print(error)
}

探索更多交互式示例,请查看Xcode项目中的Playground。

安装

Swift包管理器

使用Swift包管理器安装:

  1. 在你的Package.swift文件中添加以下代码:
dependencies: [
    .package(url: "https://github.com/stephencelis/SQLite.swift.git", from: "0.15.3")
]
  1. 构建你的项目:
$ swift build

Carthage

通过Carthage安装:

  1. 确保已安装[Carthage][Carthage Installation]。

  2. 更新你的Cartfile以包含以下内容:

    github "stephencelis/SQLite.swift" ~> 0.15.3
    
  3. 运行carthage update并按照[指南][Carthage Usage]添加框架。

CocoaPods

通过CocoaPods安装:

  1. 确保已安装[CocoaPods][CocoaPods Installation]。

  2. 更新你的Podfile以包含以下内容:

    use_frameworks!
    
    target 'YourAppTargetName' do
        pod 'SQLite.swift', '~> 0.14.0'
    end
    
  3. 运行pod install --repo-update

手动安装

  1. 将SQLite.xcodeproj拖入你的项目。
  2. 在你的目标的“常规”选项卡中点击"+"按钮,将SQLite.framework添加到“链接库和框架”列表中。
  3. 对于设备部署,还需在“嵌入式二进制”中添加SQLite.framework。

沟通交流

  1. 需要帮助或有通用问题?在Stack Overflow提问(标签为sqlite.swift)。
  2. 发现bug或有功能建议?[创建一个问题][]。
  3. 想要贡献?[提交拉取请求][]。

原始作者

许可证

SQLite.swift遵循MIT许可。更多信息请参见LICENSE文件

相关项目

增强或使用SQLite.swift的项目:

替代选择

寻找其他Swift数据库封装库吗?尝试以下选项(或者FMDB):

SQLite.swiftstehencelis/SQLite.swift: 是一个基于 Swift 语言的 SQLite 数据库库,它提供了易于使用的 API 和工具用于 SQLite 数据库的开发。适合用于 Swift 语言应用程序的数据库开发,特别是对于需要使用 SQLite 的场景。特点是易于使用、基于 Swift 语言、支持多种数据库操作。项目地址:https://gitcode.com/gh_mirrors/sq/SQLite.swift

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

余纳娓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值