欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL?JSON類型數(shù)據(jù)查詢方法

 更新時(shí)間:2025年04月17日 10:08:11   作者:dark-Moss  
這篇文章主要介紹了MySQL?JSON類型數(shù)據(jù)查詢,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧

1、json對象

1.1、方法

  • 使用對象操作的方法進(jìn)行查詢:字段->'$.json屬性'
  • 使用函數(shù)進(jìn)行查詢:json_extract(字段, '$.json屬性')
  • 獲取JSON數(shù)組/對象長度:JSON_LENGTH()

1.2、數(shù)據(jù) 

CREATE TABLE `test` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID',
  `goods_sn` varchar(25) NOT NULL DEFAULT '' COMMENT '商品編碼',
  `desc_attr` json NOT NULL COMMENT '描述屬性',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB COMMENT='TEST';
INSERT INTO `test`.`test`(`id`, `goods_sn`, `desc_attr`) VALUES (1, 'A0001', '{\"tag\": [\"GRS\", \"GOTS\"], \"size\": \"M\", \"color\": \"紅色\", \"material\": \"尼龍\"}');
INSERT INTO `test`.`test`(`id`, `goods_sn`, `desc_attr`) VALUES (2, 'A0002', '{\"tag\": [\"GRS\", \"GOTS\", \"MTD\"], \"size\": \"LA\", \"color\": \"黃色\", \"material\": \"純棉\"}');

1.3、查詢

-- 查詢面料不為空的商品
select * from test where desc_attr->'$.material' is not null;
select * from test where JSON_EXTRACT(desc_attr, '$.material') is not null;
-- 查詢面料為純棉的商品
select * from test where desc_attr->'$.material'='純棉';
select * from test where JSON_EXTRACT(desc_attr, '$.material')='純棉';
-- 查詢標(biāo)簽數(shù)量大于2的商品
select * from test where JSON_LENGTH(desc_attr->'$.tag')>2;

2、json數(shù)組

2.1、方法

  • 對象操作方式查詢:字段->'$[*].屬性'
  • 使用函數(shù)查詢:JSON_CONTAINS(字段,JSON_OBJECT('json屬性', '內(nèi)容'))
  • 獲取JSON數(shù)組/對象長度:JSON_LENGTH()

2.2、數(shù)據(jù)

CREATE TABLE `test2` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID',
  `goods_sn` varchar(25) NOT NULL DEFAULT '' COMMENT '商品編碼',
  `desc_attrs` json NOT NULL COMMENT '描述屬性,多個(gè)',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB COMMENT='TEST2';
INSERT INTO `test`.`test2`(`id`, `goods_sn`, `desc_attrs`) VALUES (1, 'A0001', '[{\"tag\": [\"GRS\", \"GOTS\"], \"size\": \"M\", \"color\": \"紅色\", \"material\": \"尼龍\"}, {\"tag\": [\"GRS\", \"GOTS\", \"MTD\"], \"size\": \"LA\", \"color\": \"黃色\", \"material\": \"純棉\"}]');
INSERT INTO `test`.`test2`(`id`, `goods_sn`, `desc_attrs`) VALUES (2, 'A0002', '[{\"tag\": [\"GRS\", \"GOTS\"], \"size\": \"M\", \"color\": \"紅色\", \"material\": \"尼龍\"}, {\"tag\": [\"GRS\", \"GOTS\", \"MTD\"], \"link\": \"xxx\", \"size\": \"LA\", \"color\": \"黃色\", \"material\": \"純棉\"}]');
INSERT INTO `test`.`test2`(`id`, `goods_sn`, `desc_attrs`) VALUES (3, 'A0003', '[]');

2.3、查詢

-- 查詢描述屬性不為空的商品
select * from test2 where JSON_LENGTH(desc_attrs) > 0;
-- 查詢第1項(xiàng)存在顏色屬性的商品
select * from test2 where desc_attrs->'$[0].color' is not null;
-- 查詢?nèi)我忭?xiàng)存在鏈接屬性的商品
select * from test2 where desc_attrs->'$[*].link' is not null;
-- 查詢?nèi)我忭?xiàng)存在鏈接等于xxx屬性的商品
select * from test2 where JSON_CONTAINS(desc_attrs,JSON_OBJECT('link', 'xxx'));

注意

-- [{"link":"xxx"}]
select desc_attrs->'$[*].link' from test2 where id=2;
-- 查詢結(jié)果為`["xxx"]`
-- 返回每一項(xiàng)的link,所以是個(gè)數(shù)組

到此這篇關(guān)于MySQL JSON類型數(shù)據(jù)查詢的文章就介紹到這了,更多相關(guān)MySQL JSON類型數(shù)據(jù)查詢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL查找NULL值的全面指南

    MySQL查找NULL值的全面指南

    在數(shù)據(jù)庫中,NULL 值表示缺失或未知的數(shù)據(jù),在 MySQL 中,我們可以使用特定的查詢語句來查找包含 NULL 值的數(shù)據(jù),本文將詳細(xì)介紹如何在 MySQL 中查找 NULL 值,并提供相關(guān)實(shí)例和代碼片段,需要的朋友可以參考下
    2024-05-05
  • MySQL在多表上創(chuàng)建視圖方法

    MySQL在多表上創(chuàng)建視圖方法

    本篇文章給大家分享了MySQL在多表上創(chuàng)建視圖方法以及相關(guān)技巧,有需要的朋友參考學(xué)習(xí)下。
    2018-06-06
  • 關(guān)于MySQL的存儲過程與存儲函數(shù)

    關(guān)于MySQL的存儲過程與存儲函數(shù)

    存儲過程是在大型數(shù)據(jù)庫系統(tǒng)中,一組為了完成特定功能的SQL?語句集(這些SQL語句已經(jīng)編譯過了),它存儲在數(shù)據(jù)庫中,一次編譯后永久有效,需要的朋友可以參考下
    2023-05-05
  • centos6.5下mysql 5.7.19 安裝配置方法

    centos6.5下mysql 5.7.19 安裝配置方法

    這篇文章主要為大家詳細(xì)介紹了centos6.5下mysql 5.7.19 安裝配置方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • mysql 5.7.27 安裝配置方法圖文教程

    mysql 5.7.27 安裝配置方法圖文教程

    這篇文章主要為大家詳細(xì)介紹了mysql 5.7.27 安裝配置方法圖文教程,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • MYSQL索引無效和索引有效的詳細(xì)介紹

    MYSQL索引無效和索引有效的詳細(xì)介紹

    MYSQL索引無效和索引有效的詳細(xì)介紹,需要的朋友可以參考一下
    2013-05-05
  • 詳解MySQL 表中非主鍵列溢出情況監(jiān)控

    詳解MySQL 表中非主鍵列溢出情況監(jiān)控

    這篇文章主要介紹了詳解MySQL 表中非主鍵列溢出情況監(jiān)控,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Mysql數(shù)據(jù)庫索引面試題(程序員基礎(chǔ)技能)

    Mysql數(shù)據(jù)庫索引面試題(程序員基礎(chǔ)技能)

    索引是Mysql的一塊硬骨頭,但是對于程序猿來說又是十分重要的基礎(chǔ)技能。本文將從索引原理、索引設(shè)計(jì)原則方面闡述Mysql索引,相信通過本文的學(xué)習(xí)你將完美征服阿里面試官
    2021-05-05
  • MySQL-8.0.26配置圖文教程

    MySQL-8.0.26配置圖文教程

    最近公司項(xiàng)目更換數(shù)據(jù)庫版本,在此記錄分享一下自己安裝配置MySQL8.0版本的過程吧,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對MySQL-8.0.26配置教程感興趣的朋友跟隨小編一起看看吧
    2021-12-12
  • 詳解MySQL中default的使用

    詳解MySQL中default的使用

    這篇文章主要介紹了MySQL中default的使用,非常不錯,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-05-05

最新評論