SQLite使用JSON扩展
一、介绍
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
相关内容
-
拖拉机类型游戏电脑|拖拉机小游戏单机版
拖拉机类型游戏电脑|拖拉机小游戏单机版,,拖拉机小游戏单机版...
-
公共CPU接口类型的详细描述
公共CPU接口类型的详细描述,,我们知道CPU是电脑的大脑, CPU的...
-
如何解决errtor加载操作系统的引导
如何解决errtor加载操作系统的引导,,电脑启动后,屏幕上出现了er...
-
主板类型百科全书(基于芯片分类)
主板类型百科全书(基于芯片分类),,电脑维修基础之主板型号熟悉,主...
-
将XP系统加载到虚拟硬盘并启动计算机
将XP系统加载到虚拟硬盘并启动计算机,,注释:您可以将XP系统加载...
-
电脑投影设置|电脑投影设置复制扩展
电脑投影设置|电脑投影设置复制扩展,,电脑投影设置复制扩展1、...
-
关闭wps加载项|Word开启和关闭加载项,启用被禁
关闭wps加载项|Word开启和关闭加载项,启用被禁用的项,启用被...
-
Win7旗舰版系统中u盘加载缓慢怎么办?|win7电脑打
Win7旗舰版系统中u盘加载缓慢怎么办?|win7电脑打开u盘缓慢怎...
-
电脑扩展屏幕快捷键|华为电脑扩展屏幕快捷键
电脑扩展屏幕快捷键|华为电脑扩展屏幕快捷键,,华为电脑扩展屏...
-
扩展屏幕快捷键|复制屏幕和扩展屏幕快捷键
扩展屏幕快捷键|复制屏幕和扩展屏幕快捷键,,复制屏幕和扩展屏...
-
C上的引导检查文件系统:文件的类型
C上的引导检查文件系统:文件的类型,,故障现象:系统检查启动检查...
-
电脑硬盘接|电脑硬盘接口类型怎么看
电脑硬盘接|电脑硬盘接口类型怎么看,,电脑硬盘接口类型怎么看...
-
如何查看电脑内存类型|如何查看电脑内存类型大
如何查看电脑内存类型|如何查看电脑内存类型大小,,如何查看电...
-
台式电脑机械硬盘扩展|台式电脑机械硬盘扩展接
台式电脑机械硬盘扩展|台式电脑机械硬盘扩展接口,,1. 台式电脑...
-
硬盘接口类型有哪些 固态硬盘接口哪种好
硬盘接口类型有哪些 固态硬盘接口哪种好,硬盘,接口,硬盘接口分...