mysql5.6及以下版本如何查询数据库里的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,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • Mysql5.7中JSON操作函数使用说明

    前言 JSON是一种轻量级的数据交换格式,采用了独立于语言的文本格式,类似XML,但是比XML简单,易读并且易编写.对机器来说易于解析和生成,并且会减少网络带宽的传输. JSON的格式非常简单: 名称/键值 .之前MySQL版本里面要实现这样的存储,要么用VARCHAR要么用TEXT大文本. MySQL5.7发布后,专门设计了JSON数据类型以及关于这种类型的检索以及其他函数解析. 下面一起来实际操作一下. 创建带有 JSON 字段的表 比如一个'文章'表,字段包括 id.标题 title.标签

  • android+json+php+mysql实现用户反馈功能方法解析

    相信每个项目都会有用户反馈建议等功能,这个实现的方法很多,下面是我实现的方法,供大家交流.首先看具体界面,三个字段.名字,邮箱为选填,可以为空,建议不能为空.如有需要可以给我留言.  下面贴出布局代码,这里用到一个<include layout="@layout/uphead">就是把另外一个布局文件引入到这个布局中. 复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?> &l

  • 简单谈谈MySQL5.7 JSON格式检索

    MySQL5.7版本开始支持JSON格式,在创建表时,可以指定列表的数据类型为JSON,但是如何在JSON格式上创建索引呢?? 本人做了一个简单测试. 第一步:建立一个包含JSON类型的表: CREATE TABLE json_test` ( id` int (8) NOT NULL AUTO_INCREMENT, content` json NOT NULL , PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 第二步:初始化数据

  • Android通过json向MySQL中读写数据的方法详解【写入篇】

    本文实例讲述了Android通过json向MySQL中写入数据的方法.分享给大家供大家参考,具体如下: 先说一下如何通过json将Android程序中的数据上传到MySQL中: 首先定义一个类JSONParser.Java类,将json上传数据的方法封装好,可以直接在主程序中调用该类,代码如下 public class JSONParser { static InputStream is = null; static JSONObject jObj = null; static String j

  • 详解Mysql中的JSON系列操作函数

    前言 JSON是一种轻量级的数据交换格式,采用了独立于语言的文本格式,类似XML,但是比XML简单,易读并且易编写.对机器来说易于解析和生成,并且会减少网络带宽的传输. JSON的格式非常简单:名称/键值.之前MySQL版本里面要实现这样的存储,要么用VARCHAR要么用TEXT大文本. MySQL5.7发布后,专门设计了JSON数据类型以及关于这种类型的检索以及其他函数解析. 下面一起来实际操作一下. 创建带有 JSON 字段的表 比如一个'文章'表,字段包括 id.标题 title.标签 t

  • Android通过json向MySQL中读写数据的方法详解【读取篇】

    本文实例讲述了Android通过json向MySQL中读取数据的方法.分享给大家供大家参考,具体如下: 首先 要定义几个解析json的方法parseJsonMulti,代码如下: private void parseJsonMulti(String strResult) { try { Log.v("strResult11","strResult11="+strResult); int index=strResult.indexOf("[");

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

    MySQL里面保存数据有时候会把一些杂乱且不常用的时候丢进一个json字段里面 下面说说mysql存储json注意那些格式吧: 1:注意保存是中文不要变成转码的,转码之后导致查询非常麻烦,压缩时候后面多带一个参数,方便不止一点点哟! json_encode(array(),JSON_UNESCAPED_UNICODE); 好处:这样查询的时候中文字符更好的匹配查询 2:字段统一    存的时候最好开始定好字段名称  ,开发一个大点的项目不可能一个人开发统一字段可以减少很多不需要的麻烦和字段不同意

  • thinkPHP5实现的查询数据库并返回json数据实例

    本文实例讲述了thinkPHP5实现的查询数据库并返回json数据.分享给大家供大家参考,具体如下: TP5 实现查询数据库返回json数据(返回json数据函数实例) 返回结果: 复制代码 代码如下: {"code":0,"msg":"\u6570\u636e\u8fd4\u56de\u6210\u529f","count":1000,"data":[{"id":617,"t

  • Mysql5.7及以上版本 ONLY_FULL_GROUP_BY报错的解决方法

    近期在开发过程中,因为项目开发环境连接的mysql数据库是阿里云的数据库,而阿里云的数据库版本是5.6的.而测试环境的mysql是自己安装的5.7.因此在开发过程中有小伙伴不注意写了有关group by的sql语句.在开发环境中运行是正常的,而到了测试环境中就发现了异常. 原因分析:MySQL5.7版本默认设置了 mysql sql_mode = only_full_group_by 属性,导致报错. 其中ONLY_FULL_GROUP_BY就是造成这个错误的罪魁祸首了,对于group by聚合

  • 从Web查询数据库之PHP与MySQL篇

    从Web查询数据库:Web数据库架构的工作原理 一个用户的浏览器发出一个HTTP请求,请求特定的Web页面,在该页面中出发form表单提交到php脚本文件(如:results.php)中处理 Web服务器接收到对results.php页面的请求后,检索文件,并将其传递给PHP引擎处理 PHP引擎开始解析脚本.脚本主要包括了连接数据库和执行查询的命令.PHP启动了对MySQL服务器的连接并向该服务器发送适当的查询. MySQL服务器接收到数据库查询的请求,开始处理这个查询,并将查询结果返回给PHP

  • sql语句查询数据库中的表名/列名/主键/自动增长值实例

    sql语句查询数据库中的表名/列名/主键/自动增长值 ----查询数据库中用户创建的表 ----jsj01 为数据库名 select name tablename from jsj01..sysobjects where type='U' and name not in ('dtproperties') --查询表里的字段信息 ---docs为表名 ---- select * from syscolumns where id = object_id('docs') ----查询数据库中所有类型

  • 在windows上安装不同(两个)版本的Mysql数据库的教程详解

    1.起因: 需要导入一个sql文件,发现死活导不进去.当执行到这一句时,就有问题.经过一番搜索,原来是我的数据库版本(原先Mysql版本5.5)低了,而支持该语句的版本应该是至少要5.7.那我索性就去Mysql官网去下载了个最新版本的(8.0.15). `create_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP 2.过程: 那么问题来了:有两个解决方案.1.直接卸载掉5.5版本的Mysql,直接安装8.0.15版本的.2.在不卸

  • php调用百度人脸识别接口查询数据库人脸信息实现验证登录功能

    博主在进行鼎食城毕业设计时,需要实现一个人脸识别登录功能,想到可以利用百度的人脸识别接口来完成,于是便去下载了百度的识别SDK,我用的是PHP,需要的的可以去下载其他版本,以下是识别效果: 用户在开始注册时需要上传一张自己的人脸照片,然 后再登录时可以通过输入自己的用户名,然后上传自己拍照的图片通过数据库查询比对人脸,根据匹配相似的实现登录: 以下时识别代码: 核心代码: $result = $client->match(array( array( 'image' => base64_enco

  • PyCharm 设置数据库,查询数据库语句方式

    目录 PyCharm设置数据库,查询数据库语句 PyCharm 连接数据库报错 PyCharm设置数据库,查询数据库语句 1.首先先安装BataBase数据插件 2.打开DB Navigator 打开DataBase视图 3.链接数据库设置 4.设置数据库的用户名.密码及Host 5.成功链接 PyCharm 连接数据库报错 使用pycharm连接数据库的时候,报错为 [08001] Could not create connection to database server. Attempte

  • 一文教会你用mybatis查询数据库数据

    目录 一.新建数据库和表 二.新建maven项目,添加mybatis依赖 三.新建实体类.接口(Mapper) 四.新建实现类(使用.xml映射文件) 五.新建全局配置文件(mybatis-config.xml) 六.编写demo类,进行测试查询数据库 总结 一.新建数据库和表 建一个数据库mybatis,建一个表person,然后填充一些数据(这里我是使用了图形化工具Navicat for MySQL,就不写原生的数据库代码了) 二.新建maven项目,添加mybatis依赖 新建一个mave

  • 查询数据库空间(mysql和oracle)

    目录 Mysql版 1.查看所有数据库容量大小 2.查看所有数据库各表容量大小 3.查看指定数据库容量大小 4.查看指定数据库各表容量大小 5.查看指定数据库各表信息 oracle版 1.查看表所占的空间大小 2.查看表空间的使用情况 3.查看回滚段名称及大小 5.查看日志文件 6.查看数据库对象 7.查看数据库版本 8.查看数据库的创建日期和归档方式 9.查看表空间是否具有自动扩展的能力 oracle加强版 一.查看表空间使用率 1.查看数据库表空间文件: 2.查看所有表空间的总容量: 3.查

随机推荐