using-sqlite-as-a-key-value-store について
SQLite で非リレーショナルなキーと値のデータを扱う開発者向けの実践ガイドです。テーブル作成と保存、読み取り、削除、検索のクエリに加え、Drift の例も紹介します。
主な機能
- 01キーと値のテーブル作成
- 02値の挿入または置換
- 03エントリーの読み取りと削除
- 04キーと文字列値の検索
- 05Drift テーブルの例
活用シーン
- 01SQLite でアプリの設定を保存
- 02単一の SQLite ファイルにユーザーデータを格納
- 03Drift プロジェクトでキーと値のクエリを使用
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ rodydavis/ skills --skill using-sqlite-as-a-key-value-storeインストール後、Claude Code で/using-sqlite-as-a-key-value-storeを入力して読み込まれたか確認します。
詳細
SQLite をキー・バリューストアとして使用する
SQLite は、さまざまな形式のデータを保存できる高機能なエッジデータベースです。
キー・バリューデータベースは、設定やその他の非リレーショナルデータの保存に、アプリケーションで広く使われています。
SQLite を使ってキー・バリューを保存すれば、ユーザーのデータすべてを 1 つのファイルにまとめ、他のデータベースにアタッチしたり、サーバーと同期したりできます。
テーブルを作成する
キー・バリュー形式のデータを保存するには、まずテーブルを作成する必要があります。
CREATE TABLE key_value (
key TEXT NOT NULL PRIMARY KEY,
value,
UNIQUE(key)
);
キー
値
user_id
1
foo
bar
active
1
guest
0
SQLite には省略可能な列型があり、動的な値を扱う場合に非常に便利です。
値を保存する
指定したキーの値を保存するには、次のクエリを実行します。
INSERT OR REPLACE
INTO key_value (key, value)
VALUES (:key, :value)
RETURNING *;
キー
値
user_id
1
キーは一意なので、意図したとおりに値が上書きされ、競合を心配する必要はありません。
値を読み取る
値を読み取るには、クエリにキーを渡します。
SELECT value FROM key_value
WHERE key = :key;
値
1
返されるのは値の列 1 つだけで、行数は最大 1 件です。
値を削除する
値またはキーを削除するには、次のクエリを実行します。
DELETE FROM key_value
WHERE key = :key;
キーまたは値を検索する
次のクエリを使って、特定のキーまたは値(文字列の場合)を検索することもできます。
SELECT key, value
FROM key_value
WHERE key LIKE :query
OR value LIKE :query;
キー
値
bar
1
foo
bar
Drift のサポート
dart で Drift を使用している場合は、新しいファイル key_value.drift を作成し、次の内容を追加します。
CREATE TABLE key_value (
"key" TEXT NOT NULL PRIMARY KEY,
value TEXT,
UNIQUE("key")
);
setItem:
INSERT OR REPLACE
INTO key_value ("key", value)
VALUES (:key, :value)
RETURNING *;
getItem:
SELECT value FROM key_value
WHERE "key" = :key;
deleteItem:
DELETE FROM key_value
WHERE "key" = :key;
searchItem:
SELECT "key", value
FROM key_value
WHERE "key" LIKE :query
OR value LIKE :query;
デモ
コメント
Markdown 対応