Repolode
stephencelis

stephencelis/SQLite.swift

AppleやLinuxのアプリ向けに、クエリビルダーと型付きデータアクセスを提供するSQLite3用の型安全なSwiftレイヤーです。

スター
10,187
フォーク
1,612
未解決の Issue
133
最終コミット
13 日前

これは何?

SQLite.swiftは、SQLite3のC APIを純粋なSwiftインターフェースでラップします。SQL文字列を連結する代わりに、型付きの式ビルダーでクエリを構築するため、カラムの型やオプショナル性をコンパイラーがチェックします。クエリは連結でき、遅延実行されるため、実行を指示したときにのみ処理されます。

必要に応じて、生のSQLを扱うための薄くSwiftになじむラッパーとしても利用でき、プリペアドステートメント、パラメーターのバインド、totalChangesやlastInsertRowidなどの接続プロパティへのアクセスをサポートします。スキーマのクエリやマイグレーション用のヘルパー、全文検索、WALジャーナリングの設定を備え、Swift Package Manager経由でSQLCipherとも連携できます。

Swift Package Manager、CocoaPods、Carthage、またはXcodeのサブプロジェクトとして導入でき、一部制限はあるもののLinuxでも動作します。

主な機能

  • 01オプショナル性を考慮したカラム型を備える、型安全なSQL式ビルダー
  • 02連結可能で遅延実行されるクエリAPI
  • 03パラメーターのバインドに対応した、生のSQL向けプリペアドステートメント
  • 04スキーマのクエリとマイグレーション用ヘルパー
  • 05全文検索とWALジャーナリングの設定
  • 06Swift Package Manager経由のSQLCipherサポート

ユースケース

  • コンパイル時にチェックされるクエリを使った、iOSまたはmacOSアプリでのローカルデータの永続化
  • Linux上でSQLiteにデータを保存するSwift製サーバーやコマンドラインツールの構築
  • Appleプラットフォームのアプリで、SQLCipherを使ってローカルデータベースを暗号化

クイックスタート

  1. 1

    Package.swift に SQLite.swift の依存関係を追加します

  2. 2

    Swift Package Manager でプロジェクトをビルドします

    swift build

使う前に知っておきたいこと

  • prepare() の結果を反復処理すると、各ステップで try! が使われます。そのため、反復中に SQLite エラーが発生するとアプリがクラッシュします。エラーを処理するには prepareRowIterator() を使用してください。
  • Linux のサポートにはいくつかの制限があります。

収録されている特集

トピック

よくある質問

SQLite.swift とは?
AppleやLinuxのアプリ向けに、クエリビルダーと型付きデータアクセスを提供するSQLite3用の型安全なSwiftレイヤーです。 SQLite.swiftは、SQLite3のC APIを純粋なSwiftインターフェースでラップします。SQL文字列を連結する代わりに、型付きの式ビルダーでクエリを構築するため、カラムの型やオプショナル性をコンパイラーがチェックします。クエリは連結でき、遅延実行されるため、実行を指示したときにのみ処理されます。
SQLite.swift は無料で使えますか?ライセンスは?
SQLite.swift は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
SQLite.swift は今もメンテナンスされていますか?
活発にメンテナンス中。SQLite.swift の最終コミットは 2026年10月25日 です。
SQLite.swift は何に使えますか?
コンパイル時にチェックされるクエリを使った、iOSまたはmacOSアプリでのローカルデータの永続化 Linux上でSQLiteにデータを保存するSwift製サーバーやコマンドラインツールの構築 Appleプラットフォームのアプリで、SQLCipherを使ってローカルデータベースを暗号化
SQLite.swift のインストール方法は?
Package.swift に SQLite.swift の依存関係を追加します Swift Package Manager でプロジェクトをビルドします: swift build
SQLite.swift はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/stephencelis/SQLite.swift

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト