zoukankan      html  css  js  c++  java
  • mysql 和mssql2016中的json字段相关操作

    Mysql:

    mysql中有专门的Json字段,不是通用的varchar字段,可以保存key/value对,也可保存value集合。

    可以增加、删除、修改Json中的某一字段,查询时可以为条件。

    如果想以Json中的某一个key为索引,则需要建立一个计算字段,然后对计算字段建立索引,这样可以加快查询速度。

    SELECT id,ff->'$.name' from t1 where ff->'$.name'  like 'mus%'   --查不到数据
    SELECT id,ff->'$.name' from t1 where ff->'$.name'  != 'mus'   --这个可以
    SELECT id,ff->'$.name' from t1 where ff->'$.name'  = 'mus'           --字符串型,可以用=和!=查询,但不能用like
    SELECT id,ff,ff->'$.name' from t1 where ff->'$.id' !=0       --数字型可以大于,小于,等于,不等查询

    UPDATE t1 SET ff = JSON_SET(ff,'$.id', 30,'$.url','www.muscleape.com') WHERE id = 1;  --更新时JSON_SET可以更新json内部数据,可增加入新的key

    INSERT INTO t1 (ff) VALUES ('{"id": 2,"name": "mus"}');  --可以像文本一样写入

    以下参考:

    https://www.jianshu.com/p/6a9ca839c5b5

    https://www.cnblogs.com/helww/p/9330593.html

    https://blog.csdn.net/stpeace/article/details/88595700

    https://blog.csdn.net/weixin_34265814/article/details/91439439

    MSSQL2016开始支持:

    没有Json字段,使用nvarchar(max)来保存Json数据。

    使用json_modify函数来修改、增加、删除Json中的元素,索引方式和mysql一样使用计算列字段。

    参考:

    https://docs.microsoft.com/zh-cn/archive/msdn-magazine/2017/april/cutting-edge-query-json-data-in-sql-server-2016

    https://www.cnblogs.com/wenBlog/p/5817842.html

    https://blog.csdn.net/ahang10001/article/details/102110980

    https://www.jb51.net/article/174210.htm

    http://www.sohu.com/a/293454973_120083365

    https://www.jianshu.com/p/34b77a0fba6d

  • 相关阅读:
    Announcement follows closure of QEDIT’s investment round with USD 10 million secured from investors
    Zero-Knowledge taxation on Ethereum
    盘点那些年被甲骨文前CEO埃里森炮轰过的厂商
    怎样才能用手机控制电脑呢?
    怎样才能用手机控制电脑呢?
    怎样才能用手机控制电脑呢?
    怎样才能用手机控制电脑呢?
    关于我写博客的那些事
    关于我写博客的那些事
    关于我写博客的那些事
  • 原文地址:https://www.cnblogs.com/81/p/11953847.html
Copyright © 2011-2022 走看看