ubuntu 16.04上验证是否sqlite3是否启用了json1扩展

32 篇文章 3 订阅

Ubuntu 16.04 库中带的 SQLite 3.11.0-1ubuntu1 自带了 JSON1 扩展,且默认开启了Json1扩展.下面可以使用一个docker 来验证一下:

$ docker run --rm -it ubuntu:xenial //拉取一个docker,在docker里进行测试
# apt-get update && apt-get install --no-install-recommends -y sqlite3 //安装精简(不安装非必要的插件)sqlite3
# echo "PRAGMA compile_options;" | sqlite3 | grep JSON1 //验证编译参数
ENABLE_JSON1 //输出显示已经开启了JSON1

 在命令行里测试JSON插件加载是否成功:

执行SQL:select json_type('["a", "b", 1]');

输出结果若为array,则加载JSON插件成功。

 这里是使用了内存模式(因为启动sqlite3的时候没有带数据库的名字)

sliqte3安装时会自动安装sqlite3-dev,对应的lib库在/usr/lib/x86_64-linux-gnu/路径下。


实例

实例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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值