Swift 之 SQLite.swift的使用

Swift 之 SQLite.swift的使用

GitHub地址 SQLite.swift

SQLite.swift使用Swift 编写的一款SQLite工具,封装了各种sql操作,避免了纯sql语句的开发

安装

  1. Carthage
github "stephencelis/SQLite.swift" ~> 0.12.0
  1. CocoaPods安装
pod 'SQLite.swift', '~> 0.12.0'
  1. Swift Package Manager
dependencies: [
    .package(url: "https://github.com/stephencelis/SQLite.swift.git", from: "0.12.0")
]

使用

  1. 首先第一步创建连接SQLite的对象 这一步就相当于创建了数据库,但是数据库中并没有表
//sqlPath是你数据库文件的地址,如..../demo.sqlite
let db = try? Connection.init(sqlPath)
  1. 创建数据库的表

 let  id = Expression<Int64>.init("uId")
 let  name = Expression<String>.init("userName")
 do{
   
     let table = Table.init(tableName)
     try db?.run(table.create(temporary: false, ifNotExists: true,            withoutRowid: false, block: {
    (builder) in
     //设置主键和自增
       bulider.column(id,primaryKey: .autoincrement)
       bulider.column(name)
     }))
 }catch(let error){
   
 }
  1. 向数据库中增加数据
@discardableResult func insert (table:Table?,setters:[Setter]) -> Bool{
   
        guard let tab = table else {
   
            return false
        }
        do {
   
            try db?.run(tab.insert(setters))
            return true
        } catch let error {
   
            debugPrint(error.localizedDescription)
            return false
        }
    }
   /// 
  1. 查询数据
 func select(table:Table?,select: [Expressible] = [],filter: Expression<Bool>? = nil, order: [Expressible] = [], limit: Int? = nil, offset: Int? = nil) -> [Row]? {
   
        guard var queryTable = table else {
   
            return nil
        }
        do {
   
            if select.count != 0{
   
                queryTable = queryTable.select(select).order(order)
            }else{
   
                queryTable = queryTable.order(order)
            
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值