JSON_VALID
和JSON_EXTRACT
函数在业务开发的过程中可以极大提供我们处理数据的效率,特别对业务中灵活字段的处理场景,我们可以快速的对这些数据中提取想要的字段。文章目录
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在 MySQL 中,JSON 数据类型提供了一种存储和操作 JSON 数据的方式。
实例:CREATE TABLE products (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255),
details JSON
);
INSERT INTO products (name, details) VALUES ('Laptop', '{"color": "black", "price": 999.99}');
JSON_VALID
函数用于检查一个字符串是否是有效的 JSON 格式。如果字符串是有效的 JSON,函数返回 1;如果不是,则返回 0。SELECT JSON_VALID('{"name": "MySQL", "version": "8.0"}');
-- 返回 1,表示是有效的 JSON
SELECT JSON_VALID('This is not a JSON string');
-- 返回 0,表示不是有效的 JSON
JSON_SET
、JSON_INSERT
等函数来更新 JSON 对象。UPDATE products SET details = JSON_SET(details, '$.price', 1099.99) WHERE id = 1;
-- 更新 JSON 对象中的 price 属性
JSON_EXTRACT
函数用于从 JSON 文档中提取数据。它允许你通过路径表达式来定位并提取 JSON 对象或数组中的值。SELECT JSON_EXTRACT(details, '$.color') FROM products WHERE id = 1;
-- 提取 JSON 对象中的 color 属性值
SELECT JSON_EXTRACT(details, '$.price') FROM products WHERE id = 1;
-- 提取 JSON 对象中的 price 属性值
JSON_EXTRACT
可以配合使用数组索引和嵌套路径来提取深层数据。CREATE TABLE orders (
id INT AUTO_INCREMENT PRIMARY KEY,
customer VARCHAR(255),
order_details JSON
);
INSERT INTO orders (customer, order_details) VALUES ('John Doe', '[{"product": "Laptop", "quantity": 2}, {"product": "Mouse", "quantity": 1}]');
SELECT JSON_EXTRACT(order_details, '$[0].product') FROM orders WHERE id = 1;
-- 提取第一个订单项的产品名称
使用 JSON 函数可以在查询中直接处理 JSON 数据,减少应用程序层的数据处理负担,提高查询效率。
SELECT name, JSON_EXTRACT(details, '$.price') AS price FROM products WHERE JSON_EXTRACT(details, '$.price') > 500;
-- 选择价格超过 500 的产品及其名称
MySQL 的 JSON 支持为开发者提供了强大的工具来处理 JSON 数据。通过 JSON_VALID
和 JSON_EXTRACT
函数,开发者可以确保数据的有效性,并灵活地从 JSON 文档中提取所需信息。2021最新Quantumult ID账号分享-iOS美国Quantumult X专属ID购买v2Ray以IP判断2022年谷歌账户密码找回步骤详解:解决登录和找回问题的专家指南Shadowrocket设置全局教程没有URL怎么用Clash电脑挂 VPN指南v2ray一键网页端安装、配置和使用教程Shadowsocks C源码详解ExpressVPN和Surfshark哪个更好用?QNAP FR V2Ray综合指南看片不卡:高速稳定4K梯子推荐2025 新版 Windows 电脑 Clash Verge 下载和使用教程Clash Meta for Android最新Clash安卓客户端下载 机场节点订阅配置使用教程NekoBox For Android 最新教程:下载、配置与代理设置详解OKANC 机场怎么样 -优质SS机场推荐 | 专线机场