admin管理员组文章数量:1446757
SQL 直接更换字段存储的Json值
以下是一个达梦数据库(DM V8)中关于 JSON 字段的 SQL 示例,包括数据脱敏、更新 JSON 字段、删除 JSON 键与值、查询 JSON 中的一个键,以及一些日常使用的示例。
1. 数据脱敏示例
假设你的表名为 USER_DATA
,有一个 JSON 字段 USER_INFO
,其中包含用户的敏感信息。我们将对 email
字段进行脱敏处理。
UPDATE USER_DATA
SET USER_INFO = JSON_MODIFY(USER_INFO, '$.email', '****@example')
WHERE USER_INFO IS NOT NULL;
2. 更新 JSON 字段示例
假设你想在 JSON 字段 USER_INFO
中添加一个新的键 lastLogin
,并设置其值为当前时间。
UPDATE USER_DATA
SET USER_INFO = JSON_MODIFY(USER_INFO, '$.lastLogin', CURRENT_TIMESTAMP)
WHERE USER_INFO IS NOT NULL;
3. 删除 JSON 键与值示例
如果你想删除 address
键及其对应的值,可以使用以下 SQL:
UPDATE USER_DATA
SET USER_INFO = JSON_MODIFY(USER_INFO, 'delete $.address', NULL)
WHERE USER_INFO IS NOT NULL;
4. 查询 JSON 中的一个键示例
如果你想查询 JSON 字段 USER_INFO
中的 username
值,可以使用以下 SQL:
SELECT JSON_VALUE(USER_INFO, '$.username') AS username
FROM USER_DATA
WHERE USER_INFO IS NOT NULL;
5. 日常使用示例
查询所有用户的敏感信息(脱敏后)
代码语言:javascript代码运行次数:0运行复制SELECT
JSON_VALUE(USER_INFO, '$.name') AS name,
JSON_VALUE(USER_INFO, '$.email') AS email, -- 这里的 email 已经脱敏
JSON_VALUE(USER_INFO, '$.lastLogin') AS lastLogin
FROM USER_DATA
WHERE USER_INFO IS NOT NULL;
统计用户数量
代码语言:javascript代码运行次数:0运行复制SELECT COUNT(*) AS user_count
FROM USER_DATA
WHERE USER_INFO IS NOT NULL;
总结
- 数据脱敏:通过更新 JSON 字段来隐藏敏感信息。
- 更新 JSON 字段:可以添加新键或更新现有键。
- 删除 JSON 键:可以使用
JSON_MODIFY
删除不需要的键。 - 查询 JSON 键:使用
JSON_VALUE
提取特定的值。
特殊说明: 上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2025-03-13,如有侵权请联系 cloudcommunity@tencent 删除存储数据脱敏统计jsonsql本文标签: SQL 直接更换字段存储的Json值
版权声明:本文标题:SQL 直接更换字段存储的Json值 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/biancheng/1748295261a2840149.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论