mysql json 数组怎么搜索

在MySQL中,可以使用JSON_CONTAINS函数来搜索JSON数组中的元素。这里有一个简单的例子:

假设有一个名为items的表,其中有一个名为attributes的列,包含JSON数组。

bash 复制代码
CREATE TABLE items (
    id INT AUTO_INCREMENT PRIMARY KEY,
    attributes JSON
);


INSERT INTO items (attributes) VALUES
('["apple", "banana", "cherry"]'),
('["banana", "cherry", "date"]'),
('["apple", "banana", "date"]');

如果你想要搜索包含"banana"的attributes,可以使用以下查询:

bash 复制代码
SELECT * FROM items
WHERE JSON_CONTAINS(attributes, JSON_OBJECT('key', 'banana'));

JSON数组

bash 复制代码
INSERT INTO items (attributes) VALUES
('[1, 2, 3]'),
('[1, 104, 101]'),
('[102, 101, 202]');

如果要查询包含 101 这个数字的 attributes

bash 复制代码
SELECT * FROM `items` 
WHERE JSON_CONTAINS(`attributes`, CAST(101 AS JSON))
相关推荐
Hardworking6661 小时前
第7章 软硬件系统集成
数据库·软硬件系统集成
名字还没想好☜2 小时前
Go 的 time.Ticker 陷阱:定时任务里被忽略的内存泄漏与正确关闭
java·数据库·golang·go·定时器
熊猫钓鱼>_>2 小时前
Redis 突发缓存穿透:一次完整的定位复盘
数据库·人工智能·redis·缓存·ai·agent·智能
wenb1n2 小时前
MySQL诊断系列(3/6):索引分析——5个SQL揪出“僵尸索引”
数据库·人工智能·编程语言
这个DBA有点耶2 小时前
索引碎片与统计信息维护:执行计划突然变差的隐形杀手
mysql·程序员·架构
段一凡-华北理工大学3 小时前
向量数据库实战:选型、调优与落地~系列文章03:向量相似度算法全解:余弦、欧氏、内积,到底该用哪个?
大数据·数据库·人工智能·算法·机器学习·向量相似度·高炉炼铁
ClouGence4 小时前
CloudDM 数据库管理平台,全新 UI,更清晰、更高效!
数据库·开源
Mico185 小时前
MySQL 8.0.35 GTID 主从复制搭建-基于GITD
android·mysql·adb
花生了什么事o6 小时前
DDD:领域驱动设计的初步认识
java·数据库
BGK1123586 小时前
基于qemu_v8+optee 4.00 平台构建 ca/ta
java·大数据·数据库