sqliteのjson拡張について
概要
- sqliteはnosqlのようにjsonを扱える
- jsonを扱うための拡張機能のことをjson1という
使用例
-- テーブル作成
CREATE TABLE users (
id INTEGER PRIMARY KEY,
data JSON
);
-- データ挿入
INSERT INTO users (data) VALUES ('{"name": "Alice", "age": 30}');
INSERT INTO users (data) VALUES ('{"name": "Bob", "age": 25}');
-- JSONデータの検索
SELECT * FROM users WHERE json_extract(data, '$.name') = 'Alice';
SELECT data FROM users WHERE JSON_EXTRACT(data, '$.age') > 28;
-- 特定のJSON要素の選択
SELECT json_extract(data, '$.name') AS name FROM users;
-- JSONデータの更新
UPDATE users SET data = json_set(data, '$.age', 31) WHERE json_extract(data, '$.name') = 'Alice';
-- JSONデータの削除
UPDATE users SET data = json_remove(data, '$.age') WHERE json_extract(data, '$.name') = 'Alice';