"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como armazenar e recuperar dados JSON com eficiência em tabelas MySQL?

Como armazenar e recuperar dados JSON com eficiência em tabelas MySQL?

Publicado em 13/11/2024
Navegar:834

How to Efficiently Store and Retrieve JSON Data in MySQL Tables?

Criando e inserindo objetos JSON em tabelas MySQL

Ao trabalhar com dados JSON no MySQL, você poderá encontrar desafios se não estiver familiarizado com o processo. Aqui está um guia passo a passo para ajudá-lo.

Criando uma tabela com tipo de dados JSON

Para armazenar dados JSON de maneira eficaz, você precisará definir seu colunas da tabela com o tipo de dados JSON. Por exemplo:

CREATE TABLE `person` (
  `name` JSON DEFAULT NULL
);

Inserindo dados JSON

Existem várias maneiras de inserir dados JSON em sua tabela MySQL:

1. Inserindo matrizes JSON

Para inserir uma matriz de valores, coloque-os entre colchetes e use a função JSON_CONTAINS em sua consulta:

INSERT INTO `person` (`name`)
VALUES ('["name1", "name2", "name3"]');

2. Inserindo objetos JSON (chave: pares de valores)

Para inserir objetos JSON individuais, use chaves para delimitar seus pares de valores-chave:

INSERT INTO person VALUES ('{"pid": 101, "name": "name1"}');
INSERT INTO person VALUES ('{"pid": 102, "name": "name2"}');

Selecionando dados JSON

Depois de inserir seus dados JSON, você pode recuperar registros específicos usando a função JSON_CONTAINS:

SELECT * FROM `person` WHERE JSON_CONTAINS(name, '["name1"]');

Nota: Esses recursos requerem MySQL versão 5.7 ou superior e mecanismo de armazenamento InnoDB.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3