时间:2021-07-01 10:21:17 帮助过:3人阅读
在MYSQL5.7以上,多了一个字段类型:json
原生的JSON优势如下:
1. 存储上类似text,可以存非常大的数据。
2. JSON有效性检查:插入的数据必须是JSON类型的字符串才行。
3. 相比于传统形式,不需要遍历所有字符串才能找到数据。
4. 支持索引:通过虚拟列的功能可以对JSON中部分的数据进行索引。
1. 插入SQL语句,注意info字段必须要是json类型,否则插入失败
INSERT INTO `user`(`uid`,`info`) VALUES (1,‘{\"mail\": \"jiangchengyao@gmail.com\", \"name\": \"David\", \"address\": \"Shangahai\"}‘),(2,‘{\"mail\": \"amy@gmail.com\", \"name\": \"Amy\"}‘);
2. 简单查询
SELECT uid,json_extract(info,‘$.mail‘) AS ‘mail‘,json_extract(info,‘$.name‘) AS ‘name‘ FROM USER;
结果是:
对于某一列是json而言,需要使用内置的函数 json_extract(列名,‘$.key‘) 这个函数有2个参数,第一个参数是json列的列名,第二个参数$.key 其中key为json字符串中某一个key。
MySQL5.7中使用JSON(一)
标签: