csdn这个makedown编辑有点问题,这篇文章格式好一点,传送门:http://blog.csdn.net/sheldon761642718/article/details/72677156

MySQL添加的JSON数据类型让关系数据库用起来更简单,并且模糊了SQL和NoSQL数据库的界限。
从前有了一台电脑,然后有人built了第二台电脑,并且想要一些第一台电脑上的代码。这就意味着我们需要一种不借助底层硬件的方式来移动信息。从那以后,有了好多编码格式以及交互标准(ASCII,EBCIDIC,SGML,XML,etc),在历史长河上都有他们的闪光点。在过去的这些年,JSON(JavaScript object notation)一直是最流行的。
在MySQL5.7之前,你可以在字符字段中用json格式来储存文件,但是大的字符串查询起来的时候非常乱,并且写正则表达式(regular expressions)在字符串中查找结果可是一个不爽的体验。并且,如果你修改了字符串中的一部分,那么你必须重写全部的字符串,这绝对是非常低效率的!但是在MySQL5.6中你必须这么做。
JSON in MySQL
在MySql 5.7中 MySql介绍了一个原生的(native)的json数据类型。就像一个整型,一个字符类型,或者一个实数,这就有了在数据库中,用表的一列来储存一个完全的json文件——并且这一列的文件的size甚至可以达到1个G!这个服务将会确保这是一条json文件是有意义并且用一种适合搜索的二进制方式储存。这种新的数据类型对MySql的更多更新来说可能比其他特性更有保障。(太绕口了,大体就是以后mysql会对这个做更多的更新兼容)
这种数据类型也伴随着超过二十个函数的到来。这些函数将会从文档中提取出键值对(k-v 对),更新数据,提供关于数据的元数据,用json格式输出非json列等等,并且这个比正则表达式简单多咯。
MySql 8 现在正在开发里程碑版本,并且加了一些新的函数和功能.JSON_PERETTY_PRINT函数将会格式化输出,从而使输出的更清晰。并且将会有一个重大的改进——重写数据的时候不用重写全部的文件!
讽刺意味的是什么呢?
在非格式化的方式中储存数据是NoSQL的特性,但是许多关系数据库——比如Oracle,SQL Server,Postgresql,等等其他的。都增加了Json数据类型,模糊了NoSQL跟SQL数据库的界限。
为什么储存文件这么重要呢
在JSON数据类型出现不久,MySQL文档储存特性就兼容了。它是为不了解结构化查询语言(SQL)但又想要使用数据库的开发人员设计的。
开发者创建了数据集合,并在需要的编程语言(java,JavaScript,node.js,Python,C++等)上执行创建,读取查询(原文用了remove,应该是用错了),更新,删除(CRUD)这些函数。当他们的数据被保存为JSON格式的列的时候,开发者不需要知道具体SQL的知识,或者说不用关心在显示屏后面正在为他们执行的SQL。这样他们就可以储存跟使用数据,而不是必须去建立正规化的数据库表,架构他们的数据,或者在等待数据库管理员建立数据库的时候转转手指(开玩笑)。许多工程在开始的时候不知道数据长啥样,但是可以通过改进数据来适应当前的环境。
如果从这些JSON文档中需要老式的关系数据,那么可以很容易地将各种键提取为标准SQL工作的生成列,然后索引生成的列以进行快速搜索。
缺点
JSON是一种非正式储存数据的好方式。但是关系数据库在标准化数据上很有强大,所有的数据都被标准化到小组成部分中来提高访问速度。并且,有的数据可能缺乏应用的严格性,比如当记录一个电子邮件地址的时候,key值可能是email,eMail,e-mail,或者其他变体。只要你明白,你可能在这条路上遇到问题,那么就有许多令人信服的理由可以(让你)忽略其严格性。

如果你准备好试一试,下载MySQL。

MySQL中关于JSON你不得不知道的那些事!相关推荐

  1. mysql的json函数与实例_Mysql实例详解Mysql中的JSON系列操作函数

    <Mysql实例详解Mysql中的JSON系列操作函数>要点: 本文介绍了Mysql实例详解Mysql中的JSON系列操作函数,希望对您有用.如果有疑问,可以联系我们. MYSQL必读前言 ...

  2. MySql中json类型的使用___mybatis存取mysql中的json

    MySql中json类型的使用 MySQL从5.7.8起开始支持JSON字段,这极大的丰富了MySQL的数据类型.也方便了广大开发人员.但MySQL并没有提供对JSON对象中的字段进行索引的功能,至少 ...

  3. DNS解析过程中不得不知道的那些事

    DNS解析过程中不得不知道的那些事 0x01 定义 0x02 域名结构 0x03 DNS查询方式 1.从查询方式分类 2.从查询内容: 0x04 常见的DNS资源记录 1.A/AAAA记录 2.CNA ...

  4. 如何在 MySQL 中使用 JSON 数据,在 MySQL 中学习“NoSQL”

    MySQL 支持本机JSON数据类型,该数据类型支持 JSON 文档的自动验证和优化存储和访问.尽管 JSON 数据最好存储在MongoDB等 NoSQL 数据库中,但您仍然可能会不时遇到包含 JSO ...

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

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 一.方法罗列: 分类 函数 描述 创建json json_array 创建json数组 json_o ...

  6. mysql+json+检索_如何从mysql中检索JSON数据?

    我有以下表格和他们的关系.我将json数据存储在client_services表中.他们是否可以使用mysql查询检索JSON值.喜欢: select getJson("quota" ...

  7. mysql操作json优点和缺点_详解Mysql中的JSON系列操作函数

    前言 JSON是一种轻量级的数据交换格式,采用了独立于语言的文本格式,类似XML,但是比XML简单,易读并且易编写.对机器来说易于解析和生成,并且会减少网络带宽的传输. JSON的格式非常简单:名称/ ...

  8. Mysql中使用json格式存储数据好吗?

    在最近的一次项目开发过程中,在数据表设计阶段,对是否用json格式存储某些数据我们产生了分歧.以往项目中对此点比较随意,导致数据表中有些json格式数据体积很大,层次很深,我担心这会降低数据查询和解析 ...

  9. mysql json 数组_在MYSQL中读取JSON数组

    mysql> SET @`json` := -> '[ '> { '> "id": 1, "type": 2 '> }, '> ...

最新文章

  1. 不可错过的2019秋招CV岗心得!原来拿offer也是有套路的
  2. 欢迎大家讨论:只想要一个最简单的XXX系统,功能最简化的XXX系统
  3. Asp.net MVC开发RDLC报表
  4. 对Python中路径操作指南
  5. Java黑皮书课后题第5章:5.10(找出能被5和6整除的数)编写程序,显示从100到1000之间所有能被5和6整除的数,每行显示10个。数字之间用一个空格字符隔开
  6. opencv轮廓周长原理_OpenCV3 - 轮廓特征
  7. 方差为什么用平方不用绝对值_为什么戚风蛋糕用玉米油而不用黄油?
  8. JOSN的stringify()和parse()方法
  9. BPS数据包常见问题
  10. mysql世界国家省市地区的信息中英文
  11. java中实体类的作用_Java中什么是实体类和实体类的作用
  12. openresty 网关rsa+aes+redis鉴权解密
  13. 服装erp软件如何提高企业利润
  14. linux中ctrl+c、ctrl+z、ctrl+d、ctrl+l快捷键的使用
  15. EUI学习之DataGroup与List
  16. Spanning-tree guard features配置案例
  17. 后棱镜时代的个人信息黑洞,电影《绝对控制》在现实中存在吗?
  18. 高光谱遥感数据光谱特征的提取与应用---高光谱基础知识科普论文
  19. 火焰识别python_五行属火的字大全
  20. 《统计学》——思考题第四章数据的概括性度量(贾俊平)

热门文章

  1. 信息学奥赛一本通(C++)版在线评测系统 1000 入门测试题目
  2. 基于域适应的弱监督学习的物体检测:
  3. 计算机录入技术考试试题,计算机文字录入处理员高级试题bhs1ga0ve.doc
  4. 联想win10的摄像机(相机)不能正常运行解决方法
  5. C++小游戏(第四弹)
  6. java毕业生设计药房药品采购集中管理系统计算机源码+系统+mysql+调试部署+lw
  7. 如何去除百度地图下方的文字标识
  8. 中小学计算机网络教师考试报名时间,中小学教师资格考试网报名流程
  9. 互联网跨界造芯的“菊与刀”
  10. ECS开发(一、)ECS是什么?