麒麟v10 上部署 TiDB v5.1.2 生产环境优化实践
850
2023-07-02
Mysql内储存JSON字符串实例分析
前言
JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序。这个字符串可以表示数组和复杂的对象,而不仅仅是键和值的简单列表,在Mysql中存储Json字符串可以极大的简便存储的复杂度,而与此同时,读取数据库也就成了很多人首先遇到的问题。
示例:{ “key”: “value” }
一、Json是什么?
一种轻量级的数据交换格式是JSON(JavaScript Object Notation)。JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。
二、不同情况
1.模糊查询json类型字段
存储的数据格式(字段名 people_json):
{“name”: “zhangsan”, “age”: “13”, “gender”: “男”}登录后复制登录后复制
代码如下(示例):
select * from table_name where people_json->'$.name' like '%zhang%'登录后复制
2.精确查询json类型字段
存储的数据格式(字段名 people_json):
{“name”: “zhangsan”, “age”: “13”, “gender”: “男”}登录后复制登录后复制
代码如下(示例):
select * from table_name where people_json-> '$.age' = 13登录后复制
3.模糊查询JsonArray类型字段
存储的数据格式(字段名 people_json):
[{“name”: “zhangsan”, “age”: “13”, “gender”: “男”}]登录后复制登录后复制
代码如下(示例):
select * from table_name where people_json->'$[*].name' like '%zhang%'登录后复制
4.精确查询JsonArray类型字段
存储的数据格式(字段名 people_json):
[{“name”: “zhangsan”, “age”: “13”, “gender”: “男”}]登录后复制登录后复制
代码如下(示例):
select * from table_name where JSON_CONTAINS(people_json,JSON_OBJECT('age', "13"))登录后复制
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。