mysql5.6及以下版本如何查询数据库里的json

(编辑:jimmy 日期: 2025/1/9 浏览:2)

MySQL里面保存数据有时候会把一些杂乱且不常用的时候丢进一个json字段里面

下面说说mysql存储json注意那些格式吧:

1:注意保存是中文不要变成转码的,转码之后导致查询非常麻烦,压缩时候后面多带一个参数,方便不止一点点哟!

json_encode(array(),JSON_UNESCAPED_UNICODE);

好处:这样查询的时候中文字符更好的匹配查询

2:字段统一    存的时候最好开始定好字段名称  ,开发一个大点的项目不可能一个人开发统一字段可以减少很多不需要的麻烦和字段不同意导致bug(反正我是在这上面吃过一个亏,但是带大家做项目当时没想到加上赶导致后面测试修改耗费比开发更多时间)

好处:减少查询出来数据代码处理量,降低项目页面显示bug

3:能存一维数组绝对不要存二维数组

原因:二维数组不可控,这个还是的更具需求来定

个人习惯反正这是我的习惯,哈哈哈,不爽可以来打我呀!

下面说正事:查询当然用的是like

例如有一张table表里面有一个content字段,现在是找出actid为123456789的

5.7:select * from table where content->'$.actid' like '%123456789%';
5.6:select * from table where content like '%"actid":"123456789"%'

这样应该一看就懂,教学吗教肯定全套,做个保健不也是,所以代码里面有的人说怎么用

$id="123456789";
$sql="select * from table where content like '%\"actid":\""$id"\"%\'";

以上所述是小编给大家介绍的mysql5.6及以下版本如何查询数据库里的json,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。