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))
相关推荐
a187927218311 分钟前
MySQL 事务
数据库·mysql·事务·mvcc·acid·readview·可见性判断算法
梨落秋霜3 分钟前
Python入门篇【元组】
android·数据库·python
Caarlossss11 分钟前
mybatis
java·数据库·tomcat·maven·mybatis·mybatis-spring
AI Echoes32 分钟前
自定义 LangChain 文档加载器使用技巧
数据库·人工智能·python·langchain·prompt·agent
在风中的意志1 小时前
[数据库SQL] [leetcode] 578. 查询回答率最高的问题
数据库·sql
liuc03171 小时前
AI下调用redis并调用deepseek
数据库·redis·mybatis
遇见火星1 小时前
Redis主从复制深度解析:数据高可用与负载均衡的核心方案
数据库·redis·缓存·负载均衡
酸菜牛肉汤面1 小时前
22、数据库的乐观锁和悲观锁是什么?怎么实现的?
数据库
陌路201 小时前
MYSQL事务篇--事务隔离机制
数据库·mysql
清风6666662 小时前
基于单片机的PID调节脉动真空灭菌器上位机远程监控设计
数据库·单片机·毕业设计·nosql·课程设计·期末大作业