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))
相关推荐
山猪打不过家猪30 分钟前
ASP.NET Core Clean Architecture
java·数据库·asp.net
子非衣1 小时前
MySQL修改JSON格式数据示例
android·mysql·json
qwy7152292581631 小时前
13-R数据重塑
服务器·数据库·r语言
Bio Coder1 小时前
R语言安装生物信息数据库包
开发语言·数据库·r语言
钊兵2 小时前
数据库驱动免费下载(Oracle、Mysql、达梦、Postgresql)
数据库·mysql·postgresql·oracle·达梦·驱动
weixin_425878233 小时前
Redis复制性能优化利器:深入解析replica-lazy-flush参数
数据库·redis·性能优化
左灯右行的爱情3 小时前
Redis数据结构总结-listPack
数据结构·数据库·redis
隔壁老王1564 小时前
mysql实时同步到es
数据库·mysql·elasticsearch
想要打 Acm 的小周同学呀4 小时前
Redis三剑客解决方案
数据库·redis·缓存