JSON_OBJECT(): SELECT JSON_OBJECT('id',id,'name',name) FROM users; : Build JSON object from
key value pairs
JSON_ARRAY(): SELECT JSON_ARRAY(col1,col2) FROM t; : Create JSON array from values
JSON_EXTRACT(): SELECT JSON_EXTRACT(json,'$.path') FROM t; : Retrieve value from JSON document
operator: SELECT json->'$.path' FROM t; : Shorthand for JSON_EXTRACT in MySQL
JSON_UNQUOTE(): SELECT JSON_UNQUOTE('"text"'); : Remove quotes from JSON string
JSON_SET(): SELECT JSON_SET(json,'$.a',1) FROM t; : Insert or replace value at path
JSON_INSERT(): SELECT JSON_INSERT(json,'$.a',1) FROM t; : Add value only if path doesn't exist
JSON_REPLACE(): SELECT JSON_REPLACE(json,'$.a',1) FROM t; : Replace only if path exists
JSON_REMOVE(): SELECT JSON_REMOVE(json,'$.a') FROM t; : Delete value at path
JSON_MERGE_PATCH(): SELECT JSON_MERGE_PATCH(j1,j2); : Merge JSON documents (RFC 7396)
JSON_CONTAINS(): SELECT JSON_CONTAINS(json, '1', '$.a'); : Test if JSON contains value
JSON_CONTAINS_PATH(): SELECT JSON_CONTAINS_PATH(json,'one','$.a'); : Check if path(s) exist
JSON_KEYS(): SELECT JSON_KEYS(json,'$.a') FROM t; : Return array of keys
JSON_LENGTH(): SELECT JSON_LENGTH(json,'$.array') FROM t; : Count elements
JSON_TYPE(): SELECT JSON_TYPE(json,'$.a') FROM t; : Return data type at path
JSON_VALID(): SELECT JSON_VALID(json) FROM t; : Check if string is valid JSON
JSON_TABLE(): SELECT * FROM JSON_TABLE(json,'$[*]' COLUMNS(id INT PATH '$.id')) AS jt; :
Transform JSON array/object to relational rows
JSON_PRETTY(): SELECT JSON_PRETTY(json); : Pretty-print JSON for readability
key value pairs
JSON_ARRAY(): SELECT JSON_ARRAY(col1,col2) FROM t; : Create JSON array from values
JSON_EXTRACT(): SELECT JSON_EXTRACT(json,'$.path') FROM t; : Retrieve value from JSON document
operator: SELECT json->'$.path' FROM t; : Shorthand for JSON_EXTRACT in MySQL
JSON_UNQUOTE(): SELECT JSON_UNQUOTE('"text"'); : Remove quotes from JSON string
JSON_SET(): SELECT JSON_SET(json,'$.a',1) FROM t; : Insert or replace value at path
JSON_INSERT(): SELECT JSON_INSERT(json,'$.a',1) FROM t; : Add value only if path doesn't exist
JSON_REPLACE(): SELECT JSON_REPLACE(json,'$.a',1) FROM t; : Replace only if path exists
JSON_REMOVE(): SELECT JSON_REMOVE(json,'$.a') FROM t; : Delete value at path
JSON_MERGE_PATCH(): SELECT JSON_MERGE_PATCH(j1,j2); : Merge JSON documents (RFC 7396)
JSON_CONTAINS(): SELECT JSON_CONTAINS(json, '1', '$.a'); : Test if JSON contains value
JSON_CONTAINS_PATH(): SELECT JSON_CONTAINS_PATH(json,'one','$.a'); : Check if path(s) exist
JSON_KEYS(): SELECT JSON_KEYS(json,'$.a') FROM t; : Return array of keys
JSON_LENGTH(): SELECT JSON_LENGTH(json,'$.array') FROM t; : Count elements
JSON_TYPE(): SELECT JSON_TYPE(json,'$.a') FROM t; : Return data type at path
JSON_VALID(): SELECT JSON_VALID(json) FROM t; : Check if string is valid JSON
JSON_TABLE(): SELECT * FROM JSON_TABLE(json,'$[*]' COLUMNS(id INT PATH '$.id')) AS jt; :
Transform JSON array/object to relational rows
JSON_PRETTY(): SELECT JSON_PRETTY(json); : Pretty-print JSON for readability