Pular para o conteúdo principal
Documentos
FunçõesExpressõesKeywordsDeclaraçõesCláusulas

Função MySQL JSON_EXTRACT()

A função `JSON_EXTRACT()` do MySQL é usada para extrair dados de documentos JSON. Ele permite que você recupere valores específicos de dados codificados em JSON armazenados no seu banco de dados.

Uso

O `JSON_EXTRACT()` é comumente usado quando você precisa acessar ou manipular dados específicos em um objeto ou matriz JSON. Ele especifica um caminho para os dados desejados, que podem ser um único valor ou um conjunto de valores.

JSON_EXTRACT(json_doc, path)

Nessa sintaxe, `json_doc` representa os dados JSON e `path` especifica o local do valor desejado no documento JSON. Os caminhos podem utilizar tanto a notação de ponto para elementos aninhados quanto a notação de colchetes para matrizes. O símbolo `$` significa a raiz do documento JSON.

Observação: A função `JSON_EXTRACT()` está disponível a partir do MySQL 5.7.

Exemplos

1. Extração básica

SELECT JSON_EXTRACT('{"name": "John", "age": 30}', '$.name');

Este exemplo extrai o valor "John" da cadeia de caracteres JSON, acessando a chave `name`.

2. Extração de JSON aninhado

SELECT JSON_EXTRACT('{"user": {"name": "Jane", "age": 25}}', '$.user.age');

Aqui, a função recupera o valor de idade `25` de um objeto JSON aninhado sob a chave `user`.

3. Extração de uma matriz JSON

SELECT JSON_EXTRACT('[10, 20, 30, {"key": "value"}]', '$[3].key');

A função extrai o valor `"value"` de um elemento de matriz JSON no índice 3, que é um objeto JSON com uma `key`.

Dicas e práticas recomendadas

  • Use JSON válido. Certifique-se de que o documento JSON esteja formatado corretamente e seja válido para evitar erros.
  • Índices de alavancagem. Considere a possibilidade de indexar colunas JSON para melhorar o desempenho da consulta.
  • Reconhecimento da sintaxe do caminho. Você deve estar familiarizado com a sintaxe de caminho JSON, usando `$` como raiz e notação de ponto para elementos aninhados. As matrizes também podem ser acessadas usando a notação de colchetes.
  • Lidar com nulos. A função retornará `NULL` se o caminho especificado não existir no documento JSON.
  • Otimize o armazenamento. Use colunas JSON em vez de campos de texto grandes para aumentar a eficiência e a otimização da consulta.
  • Combine funções. Considere a possibilidade de combinar `JSON_EXTRACT()` com outras funções SQL para manipular e recuperar estruturas de dados complexas.

Aprimoramento de SQL para iniciantes

Adquira as habilidades de SQL para interagir com seus dados e consultá-los.
Comece a aprender de graça