gpt4 book ai didi

mysql - 搜索存储在 MySql 中的 JSON 数据

转载 作者:行者123 更新时间:2023-11-29 17:09:37 26 4
gpt4 key购买 nike

我的数据库中有一大组json数据,这些数据不应该被查询,所以它的存储方式非常困惑......这就是结构

{
"0": {"key": "Developer(s)", "values": ["Capcom"]},
"1": {"key": "Publisher(s)", "values": ["Capcom"]},
"2": {"key": "Producer(s)", "values": ["Tokuro Fujiwara"]},
"3": {"key": "Composer(s)", "values": ["Setsuo Yamamoto"]},
"4": {"key": "Series", "values": ["X-Men"]},
"6": {"key": "Release", "values": ["EU:", " 1995"]},
"7": {"key": "Mode(s)", "values": ["Single-player"]}
}

我应该在数据库内部查询以验证哪些记录具有哪个属性(即内部带有“Release”键的所有记录,所有在Developoer键中包含值“Capcom”的记录等)

有人能给我指出正确的方法吗?我只找到了结构简单的例子(即{“key”:“value”}),这里的键是索引号,值是一个具有两个不同键的数组...

我应该找到一种方法来重写所有数据还是有一些简单的方法?

附:我正在根据这些数据构建一个 Laravel 应用程序,因此我也可以使用 Eloquent 方法。

提前致谢

最佳答案

正如 @Guy L 在他的回答中提到的,您可以使用 LIKE 或 REGEX。但是,它会很昂贵。

示例:

 SELECT * FROM table WHERE json_column LIKE '%"Release"%';

回答:

Should I find a way to rewrite all the data or there is something easy?

考虑一下,您需要多久访问一次这些数据?

像 MongoDB 这样的 NoSQL 数据库对于这样的数据来说是一个非常好的用例,我一直在使用 Mongo 并且我对它很满意。

您可以轻松地将数据迁移到 MongoDB 并使用类似于 Eloquent 模型的 ORM,例如:https://github.com/jenssegers/laravel-mongodb从您的 Laravel 项目与 mongo 进行通信。

希望它能帮助您找到解决方案。

关于mysql - 搜索存储在 MySql 中的 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51931021/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com