SQL JSON 函数
SQL JSON函数汇总:JSON_EXTRACT/JSON_VALUE/JSON_QUERY/JSON_MODIFY(SQL Server)、JSON_EXTRACT/->/->>/JSON_CONTAINS/JSON_ARRAY/JSON_OBJECT/JSON_TABLE(MySQL)、->/->>/@>/??/jsonb_set/jsonb_build_object(PostgreSQL) · 难度:入门 · +10XP
SQL JSON 函数 —— 在数据库中操作JSON
现代数据库都支持JSON数据类型和相关函数。不用把JSON拿出来用代码解析——直接在SQL中提取、修改、查询JSON字段。
MySQL JSON函数
-- JSON_EXTRACT:提取值
SELECT JSON_EXTRACT('{"name":"小明","age":20}', '$.name'); -- "小明"
-- -> 和 ->> 运算符(MySQL特有简写)
SELECT data->'$.name' FROM users; -- 返回JSON值
SELECT data->>'$.name' FROM users; -- 返回纯文本
-- JSON_CONTAINS:检查是否包含
SELECT * FROM articles WHERE JSON_CONTAINS(tags, '"SQL"');
-- JSON_ARRAY 和 JSON_OBJECT:构造JSON
SELECT JSON_OBJECT('name', name, 'age', age) AS user_json FROM users;
动手练习
- 基础练习:查询JSON字段中的嵌套属性值。
- 进阶应用:用JSON_CONTAINS筛选标签包含某值的记录。
- 项目实战:在日志表中用JSON存储灵活的扩展字段。