Resumo : neste tutorial, você aprenderá como usar a JSON_REMOVE()
função MySQL para remover elementos de um documento JSON.
Introdução à função JSON_REMOVE() do MySQL
A JSON_REMOVE()
função é usada para remover elementos de um documento JSON.
Aqui está a sintaxe da JSON_REMOVE()
função:
JSON_REMOVE(json_doc, path[, path] ...)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Nesta sintaxe:
json_doc
: este é o documento JSON do qual você deseja remover elementos.path
: esta é a expressão de caminho que especifica o local dos dados que você deseja remover.
A função retorna o documento atualizado ou NULL
se algum argumento for NULL
.
Se a expressão path não localizar nenhum elemento, a JSON_REMOVE()
função não alterará o documento.
Exemplos de funções JSON_REMOVE() do MySQL
Vejamos alguns exemplos de uso da JSON_REMOVE()
função.
1) Removendo uma chave de um objeto JSON
O exemplo a seguir usa a JSON_REMOVE()
função para remover uma propriedade de um objeto em um documento JSON:
SELECT
JSON_REMOVE(
'{"name": "John", "age": 30}', '$.age'
) result;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Saída:
+------------------+
| result |
+------------------+
| {"name": "John"} |
+------------------+
1 row in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Neste exemplo, a expressão de caminho $.age especifica a propriedade age, portanto, a JSON_REMOVE()
função remove o elemento associado à "age"
chave do documento JSON.
2) Removendo um elemento de um array JSON
O exemplo a seguir usa a JSON_REMOVE()
função para remover o segundo elemento em uma matriz de um documento JSON:
SELECT
JSON_REMOVE(
'["PHP","MySQL","JavaScript"]',
'$[1]'
) result;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Saída:
+-----------------------+
| result |
+-----------------------+
| ["PHP", "JavaScript"] |
+-----------------------+
1 row in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
3) Lidando com caminhos inexistentes
Se o caminho não existir, a JSON_REMOVE()
função não fará nada e retornará o documento JSON original:
SELECT
JSON_REMOVE(
'{"name": "John", "age": 28}',
'$.job'
) result;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Saída:
+-----------------------------+
| result |
+-----------------------------+
| {"age": 28, "name": "John"} |
+-----------------------------+
1 row in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Resumo
- Use a
JSON_REMOVE()
função para remover elementos de um documento JSON.