在 MySQL 中,您可以使用 JSONPath 表达式来查询和操作 JSON 数据
首先,确保您的 MySQL 版本支持 JSONPath 查询。这个功能从 MySQL 8.0.4 开始引入。
以下是一些使用 JSONPath 查询的示例:
- 假设您有一个包含 JSON 数据的表
my_table
,结构如下:
CREATE TABLE my_table ( id INT AUTO_INCREMENT PRIMARY KEY, json_data JSON );
- 向表中插入一些 JSON 数据:
INSERT INTO my_table (json_data) VALUES ('{"name": "John", "age": 30, "city": "New York"}'), ('{"name": "Jane", "age": 28, "city": "San Francisco"}'), ('{"name": "Mike", "age": 35, "city": "Los Angeles"}');
- 使用 JSONPath 查询数据:
- 查询名字为 “John” 的人:
SELECT * FROM my_table WHERE JSON_EXTRACT(json_data, '$.name') = 'John';
- 查询年龄大于 30 的人:
SELECT * FROM my_table WHERE JSON_EXTRACT(json_data, '$.age') > 30;
- 查询居住在 “New York” 的人:
SELECT * FROM my_table WHERE JSON_EXTRACT(json_data, '$.city') = 'New York';
更多关于 JSONPath 查询的信息,请参考 MySQL 官方文档:https://dev.mysql.com/doc/refman/8.0/en/json.html#json-jsonpath-examples