-- 假设我们有一个包含 JSON 数据的表 `my_table`,其中有一列 `json_column` 存储了 JSON 数据。
-- 我们想要从这个 JSON 列中提取特定的值。
-- 示例数据:
-- INSERT INTO my_table (json_column) VALUES ('{"name": "Alice", "age": 30, "city": "New York"}');
-- 获取 JSON 中的单个值
SELECT json_column->>'$.name' AS name FROM my_table;
-- 解释: ->> 操作符用于从 JSON 列中提取标量值。上面的查询将返回 JSON 对象中的 "name" 字段的值。
-- 获取 JSON 中的多个值
SELECT
json_column->>'$.name' AS name,
json_column->>'$.age' AS age,
json_column->>'$.city' AS city
FROM my_table;
-- 解释: 这里我们提取了多个字段,并将它们分别命名为 name、age 和 city。
-- 使用 JSON_CONTAINS 函数检查 JSON 中是否包含某个值
SELECT * FROM my_table WHERE JSON_CONTAINS(json_column, '"Alice"', '$.name');
-- 解释: JSON_CONTAINS 函数用于检查 JSON 列中是否包含指定的值。上面的查询将返回所有 `name` 为 "Alice" 的记录。
-- 使用 JSON_SEARCH 函数查找 JSON 中的值
SELECT JSON_SEARCH(json_column, 'one', 'Alice') FROM my_table;
-- 解释: JSON_SEARCH 函数用于在 JSON 列中搜索指定的值,并返回该值的位置。上面的查询将返回 "Alice" 在 JSON 对象中的路径。
上一篇:mysql给用户赋予权限
下一篇:mysql 查找字符串位置
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站