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))
相关推荐
绘梨衣的sakura路5 小时前
Fastjson ≤ 1.2.83 新型 RCE 漏洞深度分析:三层绕过机制与完整利用链
安全·web安全·json
聆听。。花开雨落5 小时前
mybatis的typeHandler 作用
数据库·mybatis
pxzsky6 小时前
PG17数据库安装中分分词插件:pg_jieba
数据库·postgresql·pg_jieba
她说可以呀6 小时前
Redis哨兵
数据库·redis·bootstrap
霸道流氓气质7 小时前
KMS 密钥管理服务(Key Management Service)原理与实践
linux·服务器·数据库
kirs_ur7 小时前
CXL(Compute Express Link)— 内存扩展的未来
服务器·数据库·性能优化
MonolithIoT8 小时前
实战方案|设备备件无人值守仓库:连续化产线运维备件 7×24 小时数字化管控方案
运维·网络·数据库
瞬间&永恒~9 小时前
【MySQL】4-6:在同一个主机上使用 systemd 运行多个 MySQL服务器
服务器·数据库·mysql
心机之蛙qee9 小时前
Redis的主从、哨兵及集群
数据库·redis·缓存