SQLite使用JSON扩展
来源:互联网 发布:php header image 编辑:程序博客网 时间:2024/06/07 02:10
一、介绍
SQLite3.9.0之后的版本,添加了JSON扩展。在表中可以保存JSON类型。实际上SQLite将JSON类型的字段作为文本字段对待。但可对定义为JSON的字段,调用特点的函数,来实现JSON内容的增删改查。不用再自己用程序实现相似的增删改查操作。
SQLite的JSON扩展,定义在json1.c中。此文件位于源码路径下的ext/misc中。
SQLite的JSON参考了MySQL7.0中的JSON接口。可参数此文章学习使用SQLite的JSON使用方法。
二、编译及加载JSON插件方法
1、先编译sqlite3.dll。加入参数SQLITE_ENABLE_JSON1=1。开启JSON扩展。
nmake /f Makefile.msc sqlite3.dll TOP=..\sqlite-src-3.14.1 DEBUG=1 SQLITE_ENABLE_JSON1=1
2、编译json扩展
编译json1.c文件。注意编译时加入SQLITE_ENABLE_JSON1预编译定义。假设编出的dll名为json_ext.dll。
3、加载json插件
从命令行运行Sqlite3.exe命令行交互工具。执行以下命令加载插件:
.load ./json_ext.dll sqlite3_json_init
4、测试JSON插件加载是否成功
执行SQL:select json_type('["a", "b", 1]');
输出结果若为array,则加载JSON插件成功。
三、实例
实例1
sqlite> create table facts(sentenc JSON);
sqlite> insert into facts values(json_object("mascot", "Our mascot is a dolphin name sakila"));
sqlite> SELECT sentenc"$.mascot" FROM facts;
查询结果:
{"mascot":"Our mascot is a dolphin name sakila"}
实例2
sqlite> create table userj(userInfo JSON);
sqlite> insert into userj values('{"id":"19", "name":"Lida"}');
sqlite> insert into userj values('{"id":"20", "name":"james"}');
sqlite> select * from userj;
查询结果:
{"id":"19", "name":"Lida"}
{"id":"20", "name":"james"}
sqlite> SELECT json_extract(userInfo,"$.name") FROM userj;
查询结果:
Lida
james
- SQLite使用JSON扩展
- 使用 Python 的 SQLite JSON1 和 FTS5 扩展
- Sqlite 扩展功能 GET_PHONEBOOK_INDEX
- 第 3 部分: 使用新的 JSON 扩展
- 使用 PHP的curl扩展提交 json 格式数据
- SQLite--Json函数介绍
- 扩展Json.net(Newtonsoft.Json)
- php添加sqlite扩展[ ubuntu ]
- easyui datagrid json扩展
- SQLite使用
- SQLite使用
- sqlite使用
- SQLite使用
- Sqlite使用
- sqlite使用
- sqlite 使用
- SQLite使用
- sqlite使用
- ORACLE--死锁
- Spring之IOC容器的实现
- 解决页面跳转 返回刷新还是不刷新问题
- event源码简介
- Android百度地图使用之定位
- SQLite使用JSON扩展
- Django-ORM(二之QuerySet)
- 苏嵌 17.03.07
- 【VS开发】最小化到托盘 shell_notifyicon和NOTIFYICONDATA
- 常见算法:C语言求最小公倍数和最大公约数三种算法
- nginx.conf配置文件详解
- Git客户端下载及安装
- 基于OpenStreetMap地图数据的离线路径规划
- JSON与JAVA的数据转换