明辉站/应用软件/内容

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

应用软件2023-09-02 阅读
[摘要]MySQL里面保存数据有时候会把一些杂乱且不常用的时候丢进一个json字段里面,那么如何查询数据库里的json呢以及mysql存储json注意那些格式呢?接下来通过本文给大家详细介绍,需要的朋友参考下MySQL里面保存数据有时候会把一些杂乱且不常用的时候丢进一个json字段里面下面说说mysql存...
MySQL里面保存数据有时候会把一些杂乱且不常用的时候丢进一个json字段里面,那么如何查询数据库里的json呢以及mysql存储json注意那些格式呢?接下来通过本文给大家详细介绍,需要的朋友参考下

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详情的详细内容,更多请关注php中文网其它相关文章!


学习教程快速掌握从入门到精通的SQL知识。

……

相关阅读