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))
相关推荐
IronMurphy2 分钟前
Redis拷打第三讲
数据库·redis·mybatis
楠枬12 分钟前
Redis 哨兵
数据库·redis
arronKler13 分钟前
数据库设计三大范式
数据库·oracle
敲代码的嘎仔28 分钟前
力扣高频SQL基础50题详解
开发语言·数据库·笔记·sql·算法·leetcode·后端开发
jran-36 分钟前
MySQL多表操作 查询&子查询&外键约束
数据库·mysql
橙子圆12338 分钟前
Redis知识6之事务
数据库·redis·缓存
不会摸鱼的小鱼42 分钟前
WSL 安装 Ubuntu 22.04 到指定磁盘
数据库·postgresql·php
m0_702036531 小时前
mysql如何导出特定条件的查询数据_使用mysqldump加where参数
jvm·数据库·python
正在走向自律1 小时前
标量子查询消除:数据库优化器的一场“等价变戏法”
数据库·sql 优化·金仓数据库·数据库性能调优·标量子查询·数据库优化器
逻极1 小时前
SQLite 从入门到精通:深入理解嵌入式数据库的艺术与科学
数据库·sqlite·记忆·sqlite从入门到精通